31. 使用 glob 自动化文件搜索
Python 的 glob 模块提供了一种使用通配符模式搜索文件和目录的方法。你可以根据特定的模式自动搜索文件。
示例:搜索具有特定扩展名的文件
假设你想在目录中搜索具有特定扩展名的所有文件。下面是如何使用 glob 模块自动化这个任务的方法:
import glob
# 要搜索的目录
directory = 'path/to/directory'
# 搜索具有特定扩展名的文件
extension = '*.txt'
files = glob.glob(directory + '/' + extension)
# 打印匹配的文件
for file in files:
print(file)
这段代码定义了要搜索文件的目录和所需的文件扩展名。它使用 glob.glob()
函数来搜索与指定模式匹配的文件。模式是通过连接目录路径和扩展名通配符模式构建的。匹配的文件存储在 files
列表中。最后,它遍历匹配文件列表并打印每个文件的路径。
32. 使用正则表达式自动化文件重命名
Python 的 re 模块提供了对正则表达式的支持,可以用于模式匹配和字符串操作。你可以使用正则表达式自动化根据特定模式重命名文件。
示例:根据模式重命名文件
假设你有一个包含具有特定命名模式的文件的目录,并且想根据不同的模式对它们进行重命名。下面是如何使用正则表达式自动化这个任务的方法:
import os
import re
# 包含要重命名文件的目录
directory = 'path/to/directory'
# 用于匹配文件名的正则表达式模式
pattern = r'file_(\d+)\.txt'
# 遍历目录中的文件
for filename in os.listdir(directory):
# 检查文件名是否与模式匹配
match = re.match(pattern, filename)
if match:
# 提取匹配的组(数字)
number = match.group(1)
# 创建新文件名
new_filename = f'newfile_{
number}.txt'
# 重命名文件
old_path = os.path.join(directory, filename)
new_path = os.path.join(directory, new_filename)
os.rename(old_path, new_path)
print(f"已重命名:{
filename} -> {
new_filename}")
34. 使用 PyCryptodome 自动化文件加密
Python 的 PyCryptodome 库提供了用于安全加密和解密文件的密码学基元。你可以使用对称加密算法自动化文件的加密和解密过程。
示例:使用 AES 加密和解密文件
假设你想使用 AES 加密算法加密文件,然后再解密它。下面是如何使用 PyCryptodome 自动化这个任务的方法:
from Crypto.Cipher import AES
from Crypto.Random import get_random_bytes
# 要加密的文件
file_to_encrypt = 'sensitive_data.txt'
# 生成随机加密密钥
key = get_random_bytes(16)
# 创建 AES 密码器对象
cipher = AES.new(key, AES.MODE_EAX