你可以使用Python中的os模块来实现备份一个文件夹树并逐个打印每个文件。以下是一个示例代码:
import os
def backup_folder_tree(folder_path):
# 获取文件夹树中的所有文件
file_list = []
for root, dirs, files in os.walk(folder_path):
for file in files:
file_path = os.path.join(root, file)
file_list.append(file_path)
# 打印每个文件路径
for file_path in file_list:
print(file_path)
# 备份文件夹树
backup_folder_path = folder_path + "_backup"
if not os.path.exists(backup_folder_path):
os.makedirs(backup_folder_path)
for file_path in file_list:
# 获取文件在原文件夹中的相对路径
relative_path = os.path.relpath(file_path, folder_path)
# 构建备份文件路径
backup_file_path = os.path.join(backup_folder_path, relative_path)
# 创建备份文件夹
backup_file_folder = os.path.dirname(backup_file_path)
if not os.path.exists(backup_file_folder):
os.makedirs(backup_file_folder)
# 复制文件到备份文件夹
with open(file_path, 'rb') as file:
with open(backup_file_path, 'wb') as backup_file:
backup_file.write(file.read())
# 示例用法
folder_path = "/path/to/folder"
backup_folder_tree(folder_path)
以上代码会备份指定文件夹树,并逐个打印每个文件的路径。备份文件夹会在原文件夹路径后添加"_backup"作为文件夹名字。你可以将folder_path
变量替换为你要备份的文件夹路径。请确保你对操作系统和文件系统具有写入权限。