以下就是详细讲解“八个超级好用的Python自动化脚本(小结)”的完整攻略:
一、引言
Python语言的简洁性、易读性、高效性、免费性成为了自动化领域不可替代的工具,本文旨在总结分享八个Python自动化脚本的使用技巧及实例教程,帮助读者快速掌握Python自动化脚本的编写和应用方法。
二、八个Python自动化脚本
1. 批量更改文件名
思路
通过Python的os库,调用系统命令实现更改文件名的操作。
代码示例
import os
file_path = "/path/to/files"
for file_name in os.listdir(file_path):
if file_name.endswith(".txt"):
full_path = os.path.join(file_path, file_name)
if os.path.isfile(full_path):
new_name = file_name.replace(".txt", ".csv")
os.rename(full_path, os.path.join(file_path, new_name))
2. 自动邮件发送器
思路
通过Python的smtplib库,实现邮件发送的操作。
代码示例
import smtplib
from email.mime.text import MIMEText
from email.header import Header
mail_host = "smtp.example.com"
mail_user = "your_email@example.com"
mail_password = "your_password"
sender = "your_email@example.com"
receivers = ["receiver_1@example.com", "receiver_2@example.com"]
message = MIMEText("邮件正文", "plain", "utf-8")
message["From"] = Header("发件人姓名", "utf-8")
message["To"] = Header("收件人姓名", "utf-8")
subject = "邮件主题"
message["Subject"] = Header(subject, "utf-8")
smtpObj = smtplib.SMTP(mail_host, 25)
smtpObj.login(mail_user, mail_password)
smtpObj.sendmail(sender, receivers, message.as_string())
3. 网络爬虫
思路
通过Python的requests库,模拟HTTP请求并解析网页内容。可以结合BeautifulSoup库将网页内容的解析和数据提取分离出来,提高爬虫的灵活性。
代码示例
import requests
from bs4 import BeautifulSoup
url = "https://www.example.com/"
headers = {
"User-Agent": "Mozilla/5.0 (Windows NT 6.1; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko)\
Chrome/58.0.3029.110 Safari/537.3"
}
response = requests.get(url, headers=headers)
soup = BeautifulSoup(response.text, "html.parser")
links = soup.find_all("a")
for link in links:
print(link.get("href"))
4. 自动化测试
思路
通过Python的unittest库,实现测试用例的编写和执行。
代码示例
import unittest
class TestStringMethods(unittest.TestCase):
def test_upper(self):
self.assertEqual("foo".upper(), "FOO")
def test_isupper(self):
self.assertTrue("FOO".isupper())
self.assertFalse("Foo".isupper())
def test_split(self):
s = "hello world"
self.assertEqual(s.split(), ["hello", "world"])
with self.assertRaises(TypeError):
s.split(2)
if __name__ == "__main__":
unittest.main()
5. 文件读写
思路
通过Python的文件读写函数(open, close, read, write),实现文件的读写操作。
代码示例
with open("file.txt", "r") as f:
lines = f.readlines()
for line in lines:
print(line)
with open("file.txt", "a") as f:
f.write("new line")
6. 自动化Excel操作
思路
通过Python的xlrd和xlwt库,实现对Excel文件的读写和操作。
代码示例
import xlrd
import xlwt
workbook = xlrd.open_workbook("file.xls")
worksheet = workbook.sheet_by_index(0)
cell_value = worksheet.cell_value(0, 0)
new_workbook = xlwt.Workbook()
new_worksheet = new_workbook.add_sheet("Sheet1")
new_worksheet.write(0, 0, "new_value")
new_workbook.save("new_file.xls")
7. 自动化PDF操作
思路
通过Python的PyPDF2库,实现对PDF文件的读写和操作。
代码示例
import PyPDF2
pdf_reader = PyPDF2.PdfFileReader(open("file.pdf", "rb"))
pdf_writer = PyPDF2.PdfFileWriter()
for page_num in range(pdf_reader.getNumPages()):
page = pdf_reader.getPage(page_num)
page.rotateClockwise(90)
pdf_writer.addPage(page)
with open("new_file.pdf", "wb") as f:
pdf_writer.write(f)
8. 自动化文本处理
思路
通过Python的正则表达式(re模块),实现对文本的处理和提取。
代码示例
import re
str = "Hello, world!"
if re.search("wor", str):
print("Match!")
str = "The price is $29.99"
price = re.findall("\d+\.\d+", str)
print(price[0])
三、结语
本文介绍了八个Python自动化脚本,涵盖了文件操作、网络爬虫、自动化测试、文件读写、Excel操作、PDF操作、文本处理等方面。读者可以根据实际需求选择适合自己的脚本进行使用和修改,以提升工作效率和质量。
本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:八个超级好用的Python自动化脚本(小结) - Python技术站