如何在桐乡桑 shutil 中实现文件加密?
步骤:
- 创建一个新的文件夹用于存储加密文件。
- 使用
shutil.copy()
函数将源文件复制到新文件夹中。 - 使用
os.urandom()
函数生成一个随机字符串。 - 使用
os.urandom()
函数生成一个随机字符串。 - 将随机字符串写入文件名为
random_file.txt
的文件中。 - 使用
os.system()
函数运行以下命令:
gpg -e -b 128 random_file.txt > encrypted_file.txt
代码:
import shutil
import os
# 创建新文件夹
folder_path = "path/to/folder"
os.makedirs(folder_path, exist_ok=True)
# 获取源文件路径
source_file_path = "source_file.txt"
# 创建新文件夹
encrypt_folder_path = os.path.join(folder_path, "encrypted_files")
os.makedirs(encrypt_folder_path, exist_ok=True)
# 复制源文件到新文件夹
shutil.copy(source_file_path, os.path.join(encrypt_folder_path, "source_file.txt"))
# 生成随机字符串
random_string = os.urandom(16)
# 写随机字符串到文件
with open(os.path.join(encrypt_folder_path, "random_file.txt"), "w") as f:
f.write(random_string)
# 运行gpg命令加密文件
command = "gpg -e -b 128 " + os.path.join(encrypt_folder_path, "random_file.txt") + " > " + os.path.join(encrypt_folder_path, "encrypted_file.txt")
os.system(command)
注意:
-
128
是 GPG 的加密算法选择,您可以根据需要更改。 -
random_file.txt
文件的大小应与源文件大小相同。 - 确保您具有安装 GPG 的软件。