Bạn có thể tự động hóa những gì với Python

Nếu bạn đã từng dành hàng giờ để đổi tên tệp hoặc cập nhật hàng trăm ô bảng tính, bạn sẽ biết những công việc như thế này tẻ nhạt như thế nào. Nhưng nếu bạn có thể để máy tính làm chúng cho bạn thì sao?

Trong Tự động hóa những thứ nhàm chán với Python, bạn sẽ học cách sử dụng Python để viết các chương trình thực hiện trong vài phút mà bạn sẽ mất hàng giờ để làm bằng tay - không yêu cầu kinh nghiệm lập trình trước đó. Khi bạn đã nắm vững kiến ​​thức cơ bản về lập trình, bạn sẽ tạo các chương trình Python dễ dàng thực hiện các kỳ công tự động hóa hữu ích và ấn tượng để

  • Tìm kiếm văn bản trong một tệp hoặc trên nhiều tệp
  • Tạo, cập nhật, di chuyển và đổi tên tệp và thư mục
  • Tìm kiếm trên Web và tải xuống nội dung trực tuyến
  • Cập nhật và định dạng dữ liệu trong bảng tính Excel ở mọi kích thước
  • Tách, hợp nhất, tạo hình mờ và mã hóa các tệp PDF
  • Gửi email nhắc nhở và thông báo văn bản
  • Điền vào các mẫu đơn trực tuyến

Hướng dẫn từng bước hướng dẫn bạn qua từng chương trình và các dự án thực hành ở cuối mỗi chương thách thức bạn cải thiện các chương trình đó và sử dụng các kỹ năng mới tìm được của bạn để tự động hóa các tác vụ tương tự

Đừng dành thời gian của bạn để làm công việc mà một con khỉ được huấn luyện tốt có thể làm. Ngay cả khi bạn chưa từng viết một dòng mã nào, bạn vẫn có thể khiến máy tính của mình thực hiện công việc nặng nhọc. Tìm hiểu cách làm trong Tự động hóa những thứ nhàm chán với Python

Sách mới. "Cuốn sách lớn về các dự án Python nhỏ"

Mục lục

(Liên kết đến ấn bản đầu tiên cũ hơn. )

Nội dung bổ sung

Giới thiệu về tác giả

Al Sweigart là nhà phát triển phần mềm và dạy lập trình cho trẻ em và người lớn. Anh ấy đã viết một số cuốn sách dành cho người mới bắt đầu và cung cấp chúng miễn phí tại InventWithPython. com. Trang web cá nhân của anh ấy là AlSweigart. com. Bạn có thể theo dõi @AlSweigart trên Twitter và Twitch

Trong nhiều lĩnh vực quan trọng, bạn có thể tự động hoàn thành các công việc lặp đi lặp lại một cách hiệu quả và hiệu quả bằng cách sử dụng ngôn ngữ máy tính như Python. Khi bạn mới bắt đầu, điều quan trọng là phải hiểu các nguyên tắc cơ bản của Python thông qua các ví dụ mã hóa. Tuy nhiên, nếu bạn muốn cải thiện kỹ năng Python của mình, bạn nên tập trung vào việc xây dựng mọi thứ và tự động hóa các tác vụ trong thế giới thực

Bài viết này tập trung vào các nguyên tắc cơ bản của Python và nói về cách bạn có thể tự động hóa những thứ nhàm chán của mình bằng Python

Giới thiệu về Python

Python là một ngôn ngữ lập trình linh hoạt, dễ học và sử dụng. Điều này chủ yếu là do nó tương tự như các ngôn ngữ lập trình cấp cao nổi tiếng khác và được cấp phép theo mô hình mã nguồn mở. Nó được phát triển lần đầu tiên vào năm 1991 bởi Guido van Rossum và Python Software Foundation sau đó đã cải tiến nó

Cú pháp của Python đơn giản và dễ hiểu nên dễ đọc và dễ hiểu hơn so với cú pháp của các ngôn ngữ máy tính khác. Khả năng đọc mã là mục tiêu thiết kế chính và cấu trúc của ngôn ngữ giúp các lập trình viên có thể truyền đạt suy nghĩ của họ với ít dòng mã hơn

Ngôn ngữ lập trình Python vừa hướng đối tượng vừa hướng thủ tục. Nó được nhập động, do đó các loại biến không bắt buộc phải được khai báo, tuy nhiên bạn có thể thêm gợi ý loại cho các biến của mình bằng Python 3. Một ví dụ đơn giản tương tự là khai báo

1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome() 
4. browser.get("https://blog.sentry.io") 
5. sleep(1) 
6. browser.get_screenshot_as_file(SentryBlog.png”) 
7. browser.quit() 
1 có nghĩa là phương tiện có thể là Chuỗi, int hoặc bất cứ thứ gì

Thực tế là nó là nguồn mở cũng có nghĩa là có thể truy cập một loạt các công cụ, thư viện, khung và hỗ trợ cho nó. Do đó, Python là ngôn ngữ lập trình phổ biến để thực hiện các thao tác tự động hóa đơn giản. Cũng giống như Python 2 trước đó, Python 3 hiện đã được các lập trình viên chấp nhận và sử dụng rộng rãi

Ngôn ngữ cơ bản

Python 3 có những thay đổi ngôn ngữ tiến hóa và khiêm tốn. Python 3 là câu lệnh

1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome() 
4. browser.get("https://blog.sentry.io") 
5. sleep(1) 
6. browser.get_screenshot_as_file(SentryBlog.png”) 
7. browser.quit() 
2 được cập nhật từ Python 2, như sau

1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome() 
4. browser.get("https://blog.sentry.io") 
5. sleep(1) 
6. browser.get_screenshot_as_file(SentryBlog.png”) 
7. browser.quit() 
3

1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome() 
4. browser.get("https://blog.sentry.io") 
5. sleep(1) 
6. browser.get_screenshot_as_file(SentryBlog.png”) 
7. browser.quit() 
0

Mã hóa ký tự của chuỗi thay đổi đáng kể giữa hai phiên bản ngôn ngữ. Mã hóa ký tự là quá trình lưu trữ các ký tự theo byte trong ngôn ngữ máy tính

Việc triển khai tiêu chuẩn Unicode của Python 3 cho phép nó xử lý bảng chữ cái tiếng Anh, tiếng Ả Rập và tiếng Hy Lạp, cũng như biểu tượng cảm xúc, biểu thức toán học, v.v. Vào thời điểm Python 3 được phát hành, phần lớn các ngôn ngữ lập trình hiện đại đã hỗ trợ Unicode

Typing được hỗ trợ trong Python 3, tuy nhiên nó không bắt buộc. Do đó, mặc dù mã Python 3 có thể được viết giống như mã Python 2, nhưng các nhà phát triển có thể tận dụng các gợi ý loại để xây dựng mã dễ đọc, hiệu quả và hữu ích hơn

Ví dụ tự động hóa bằng Python

Python là một ngôn ngữ mạnh mẽ mà bạn có thể tự động hóa hầu hết mọi tác vụ thông thường hoặc phức tạp với một số nỗ lực

Tất cả những gì bạn cần để bắt đầu là Python được cài đặt trên máy của bạn và các thư viện thích hợp được cài đặt trên máy tính của bạn. Đối với sự ngắn gọn của bài viết này, khả năng sử dụng và tính đơn giản để tự động hóa các tác vụ lặp đi lặp lại được thể hiện bằng Python

Tạo mật khẩu an toàn

Bạn có biết rằng Python có thể giúp bạn tạo mật khẩu ngẫu nhiên mà không cần cài đặt phần mềm hoặc thư viện ưa thích không?

import secrets
import string

character_choices = string.ascii_letters + string.digits + string.punctuation

print(''.join([secrets.choice(character_choices) for i in range(16)]))

Dòng mã này in một mật khẩu ngẫu nhiên mà bạn thực sự có thể sử dụng để bảo mật tài khoản của mình.

1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome() 
4. browser.get("https://blog.sentry.io") 
5. sleep(1) 
6. browser.get_screenshot_as_file(SentryBlog.png”) 
7. browser.quit() 
1 quyết định độ dài của chuỗi được tạo trong khi
1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome() 
4. browser.get("https://blog.sentry.io") 
5. sleep(1) 
6. browser.get_screenshot_as_file(SentryBlog.png”) 
7. browser.quit() 
2 quyết định sự kết hợp ngẫu nhiên của các ký tự riêng lẻ, 16 lần được chọn - được in dưới dạng chuỗi mật khẩu của bạn

Chụp ảnh màn hình

Bạn đã bao giờ gặp tình huống cần chụp nhiều ảnh chụp màn hình để hoàn thành một tác vụ chưa? . Hãy xem cách bạn có thể tự động chụp ảnh màn hình bằng Python. Tương tự, bạn sẽ yêu cầu Selenium Webdriver, thứ sẽ giúp bạn thực hiện kiểm tra và tự động hóa trong trình duyệt web của mình cho ví dụ này. Để cài đặt Selenium Webdriver trong trường hợp này, hãy chạy lệnh bên dưới trong terminal của bạn trước khi tiếp tục

1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome() 
4. browser.get("https://blog.sentry.io") 
5. sleep(1) 
6. browser.get_screenshot_as_file(SentryBlog.png”) 
7. browser.quit() 
3

Sau khi cài đặt, bạn có thể bắt đầu viết tập lệnh Python của mình như bên dưới

1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome() 
4. browser.get("https://blog.sentry.io") 
5. sleep(1) 
6. browser.get_screenshot_as_file(SentryBlog.png”) 
7. browser.quit() 

Đoạn script trên giúp bạn chụp ảnh màn hình của Sentry. trang blog io. Hãy hiểu cách thức hoạt động của nó

1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome() 
4. browser.get("https://blog.sentry.io") 
5. sleep(1) 
6. browser.get_screenshot_as_file(SentryBlog.png”) 
7. browser.quit() 
4 được nhập từ mô-đun selen, giúp bạn khởi động trình duyệt của mình và sử dụng các API để tương tác với các thành phần web của trình duyệt

Hàm

1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome() 
4. browser.get("https://blog.sentry.io") 
5. sleep(1) 
6. browser.get_screenshot_as_file(SentryBlog.png”) 
7. browser.quit() 
5 được nhập từ mô-đun
1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome() 
4. browser.get("https://blog.sentry.io") 
5. sleep(1) 
6. browser.get_screenshot_as_file(SentryBlog.png”) 
7. browser.quit() 
6 của Python, cho phép bạn chỉ định tạm dừng thực thi sau vài giây với
1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome() 
4. browser.get("https://blog.sentry.io") 
5. sleep(1) 
6. browser.get_screenshot_as_file(SentryBlog.png”) 
7. browser.quit() 
7. Dòng 3 và dòng 4 tiếp theo chỉ định trình duyệt web và mở một URL web trong trình duyệt đã chỉ định

Selenium Webdriver mà bạn đang sử dụng, theo mặc định, sẽ tạm dừng cho đến khi trang web tải xong. Tuy nhiên, một số trang web nâng cao có thể yêu cầu

1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome() 
4. browser.get("https://blog.sentry.io") 
5. sleep(1) 
6. browser.get_screenshot_as_file(SentryBlog.png”) 
7. browser.quit() 
8 tạm dừng thực thi mã để hoàn tất quá trình tải trang web

Cuối cùng, phương thức

1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome() 
4. browser.get("https://blog.sentry.io") 
5. sleep(1) 
6. browser.get_screenshot_as_file(SentryBlog.png”) 
7. browser.quit() 
9 chụp ảnh màn hình của trang web hiển thị. Sau đó, trình duyệt cần được đóng lại và dòng
import secrets
import string

character_choices = string.ascii_letters + string.digits + string.punctuation

print(''.join([secrets.choice(character_choices) for i in range(16)]))
20 cũng làm như vậy với bạn

Ảnh chụp màn hình tự động có thể giúp xác định lỗi dễ dàng hơn và tăng tốc quá trình xác định và sửa chúng theo cách thủ công. Quan trọng nhất, nó có thể mở rộng ở cùng mức độ với ứng dụng bạn đang thử nghiệm mà không cần thêm người thử nghiệm. Hệ quả trực tiếp của tất cả những điều đã nói ở trên là ảnh chụp màn hình tự động giúp tiết kiệm thời gian và tiền bạc

Theo dõi giá của sản phẩm thương mại điện tử yêu thích của bạn

Bạn đã bao giờ thử mua sản phẩm yêu thích của mình với giá thấp nhất có thể chưa?

Để đạt được điều tương tự, bạn cần thực hiện các cuộc gọi API bằng cách sử dụng tập lệnh Python đơn giản sẽ kiểm tra định kỳ giá của sản phẩm được chỉ định của bạn trên trang web thương mại điện tử và gửi email cho bạn về điều tương tự

Chúng ta hãy xem làm thế nào để đạt được điều này

Để ví dụ này ngắn gọn, chúng ta sẽ gọi thư viện

import secrets
import string

character_choices = string.ascii_letters + string.digits + string.punctuation

print(''.join([secrets.choice(character_choices) for i in range(16)]))
21 để thực hiện các cuộc gọi mạng cùng với các thư viện Python khác để thực hiện tác vụ. Ví dụ này hiển thị truy vấn một sản phẩm từ trang web của Amazon

Trước hết, khai báo các mô-đun cần thiết dưới dạng nhập

import secrets
import string

character_choices = string.ascii_letters + string.digits + string.punctuation

print(''.join([secrets.choice(character_choices) for i in range(16)]))
2

Bây giờ, bạn đã sẵn sàng lấy URL của sản phẩm làm đầu vào để nhận thông tin cập nhật về

import secrets
import string

character_choices = string.ascii_letters + string.digits + string.punctuation

print(''.join([secrets.choice(character_choices) for i in range(16)]))
22

Sau đó, bạn cần xác định các chức năng sẽ thực hiện các tác vụ khác nhau cho bạn như hình bên dưới

import secrets
import string

character_choices = string.ascii_letters + string.digits + string.punctuation

print(''.join([secrets.choice(character_choices) for i in range(16)]))
2

Bây giờ, bạn đã sẵn sàng lấy URL của sản phẩm làm đầu vào để nhận thông tin cập nhật về

import secrets
import string

character_choices = string.ascii_letters + string.digits + string.punctuation

print(''.join([secrets.choice(character_choices) for i in range(16)]))
22

Sau đó, bạn cần xác định các chức năng sẽ thực hiện các tác vụ khác nhau cho bạn như hình bên dưới

import secrets
import string

character_choices = string.ascii_letters + string.digits + string.punctuation

print(''.join([secrets.choice(character_choices) for i in range(16)]))
8

Đoạn mã trên kiểm tra giá của sản phẩm bằng cách phân tích cú pháp các phần tử trong trang HTML bằng cách sử dụng các id HTML được xác định trong mỗi khối con. Khi quá trình thực thi mã di chuyển xa hơn, nó sẽ kiểm tra các mức giá khác được đề cập trên trang, chẳng hạn như Giá thỏa thuận và Giá của chúng tôi

Bạn có thể tự động gửi email bằng Python. Thư viện smtplib của Python cho phép bạn gửi email thông qua SMTP. Bạn sẽ cần một tài khoản Gmail; . Bạn có thể xem hướng dẫn tạo Mật khẩu ứng dụng tại đây

Đầu tiên, bạn cần kết nối với Gmail SMTP

Trong ví dụ này, bạn đang sử dụng

import secrets
import string

character_choices = string.ascii_letters + string.digits + string.punctuation

print(''.join([secrets.choice(character_choices) for i in range(16)]))
24 và
import secrets
import string

character_choices = string.ascii_letters + string.digits + string.punctuation

print(''.join([secrets.choice(character_choices) for i in range(16)]))
25 để yêu cầu email và mật khẩu tương ứng, và
import secrets
import string

character_choices = string.ascii_letters + string.digits + string.punctuation

print(''.join([secrets.choice(character_choices) for i in range(16)]))
26 để tạo kết nối và gửi email. Sau khi các mô-đun tích hợp thích hợp được nhập vào lúc đầu, các giai đoạn tiếp theo sẽ thiết lập các biến. Gmail cần HOST và PORT, các hằng số được viết hoa

Mật khẩu và tên người dùng Gmail được giữ trong biến tên người dùng. Để nhập mật khẩu, hãy sử dụng

import secrets
import string

character_choices = string.ascii_letters + string.digits + string.punctuation

print(''.join([secrets.choice(character_choices) for i in range(16)]))
27. Nó yêu cầu mật khẩu nhưng không lặp lại. Tập lệnh sử dụng
import secrets
import string

character_choices = string.ascii_letters + string.digits + string.punctuation

print(''.join([secrets.choice(character_choices) for i in range(16)]))
28 để bảo mật kết nối SMTP

1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome() 
4. browser.get("https://blog.sentry.io") 
5. sleep(1) 
6. browser.get_screenshot_as_file(SentryBlog.png”) 
7. browser.quit() 
4

Sau khi xác thực được thực hiện bằng phương thức

import secrets
import string

character_choices = string.ascii_letters + string.digits + string.punctuation

print(''.join([secrets.choice(character_choices) for i in range(16)]))
29, bạn sẽ có thể gửi email bằng phương thức
import secrets
import string

character_choices = string.ascii_letters + string.digits + string.punctuation

print(''.join([secrets.choice(character_choices) for i in range(16)]))
20. Ở đây, điều quan trọng là phải đóng kết nối mở của bạn một cách thích hợp bằng phương pháp
import secrets
import string

character_choices = string.ascii_letters + string.digits + string.punctuation

print(''.join([secrets.choice(character_choices) for i in range(16)]))
21. Bạn đã xác định các chức năng để lấy giá và thực hiện gửi email khi giá thấp hơn giá trị tối thiểu. Bây giờ bạn cần kích hoạt tập lệnh này định kỳ, tôi. e. cứ sau 60 phút hoặc lâu hơn. Bạn có thể sửa đổi và áp dụng khoảng thời gian của riêng mình trong tập lệnh. Đây là cách thực hiện

1. from selenium import webdriver 
2. from time import sleep 
3. browser = webdriver.Chrome() 
4. browser.get("https://blog.sentry.io") 
5. sleep(1) 
6. browser.get_screenshot_as_file(SentryBlog.png”) 
7. browser.quit() 
8

Ở đây,

import secrets
import string

character_choices = string.ascii_letters + string.digits + string.punctuation

print(''.join([secrets.choice(character_choices) for i in range(16)]))
22 hoạt động như một điều kiện thực sự, luôn thực thi mã trong khối, thực thi phương thức
import secrets
import string

character_choices = string.ascii_letters + string.digits + string.punctuation

print(''.join([secrets.choice(character_choices) for i in range(16)]))
23 và sau đó tạm dừng thực thi trong 60 phút tiếp theo, sau đó thực thi lại mã theo định kỳ

Đi đâu từ đây

Python có thể được sử dụng để tự động hóa nhiều quy trình khác. Có rất nhiều công việc mà bạn tiến hành hàng ngày, chẳng hạn như chuyển thông tin từ tài liệu này sang tài liệu khác hoặc nhân một con số với một trăm. Sử dụng bộ công cụ phù hợp và hiểu biết về các quy ước tập lệnh, những công việc này có thể dễ dàng tự động hóa bằng Python. Nó mang đến cho bạn cơ hội để thực hiện khả năng sáng tạo của họ và đưa ra các giải pháp tự động có một không hai cho các nhiệm vụ trần tục mà họ phải đối mặt hàng ngày

Để khám phá thêm, bạn có thể xem trang web Mã của NASA, nơi họ đã mở rất nhiều dự án Python để học hỏi. Kho lưu trữ GitHub phổ biến này là một trong những mỏ vàng của các tập lệnh tự động hóa Python, luôn nhận được sự đóng góp từ nhiều cộng tác viên khác nhau. Bạn cũng có thể tìm kiếm thêm về chủ đề trên GitHub

Python có tốt cho tự động hóa không?

Một thư viện phong phú gồm các gói hữu ích và các thành phần sẵn sàng sử dụng để tự động hóa hỗ trợ rất nhiều cho việc thử nghiệm trong Python . Python là hướng đối tượng và chức năng. Nó cho phép chọn những gì phù hợp với nhiệm vụ của bạn hơn – hàm hoặc lớp. Các chức năng phân tán không có tác dụng phụ và cú pháp đơn giản giúp chúng có thể đọc được.

Những điều tốt nhất để tự động hóa là gì?

Dưới đây là 12 điều bạn có thể tự động hóa để tận dụng tối đa ngày làm việc của mình. .
Tạo bản trình bày trong 1….
Giao tiếp tập trung vào nhóm, không có email. .
Nếu bạn không thể nói lời tạm biệt với email mặc dù….
Vẫn đăng bài lên các trang web truyền thông xã hội theo cách thủ công?.
Hãy để tin tức đến với bạn. .
Sao lưu máy tính. .
Quét tài liệu

Tôi có thể tự động hóa những nhiệm vụ nào?

10 tác vụ bạn có thể tự động hóa ngay bây giờ (+ Cách thực hiện) .
Đăng phương tiện truyền thông xã hội
gửi hóa đơn
Sàng lọc nhân viên tiềm năng
lên lịch họp
Theo dõi chi phí đi lại
giao tiếp khách hàng
Nuôi dưỡng khách hàng tiềm năng
Sao lưu dữ liệu của bạn

Bạn có thể làm những điều thú vị gì với Python?

Ý tưởng dự án Python. Cấp độ mới bắt đầu .
Tạo trình tạo mã. .
Xây dựng một máy tính đếm ngược. .
Viết phương pháp sắp xếp. .
Xây dựng một bài kiểm tra tương tác. .
Tic-Tac-Toe bằng văn bản. .
Tạo bộ chuyển đổi nhiệt độ/đo lường. .
Xây dựng một ứng dụng truy cập. .
Xây dựng trò chơi đoán số