目录
前沿
主要为对文件的系列操作组合,对于大量重复性移动、复制、删除等工作,可尝试使用。
代码实现
# -*- coding = utf-8 -*-
# @time:2021/6/12 16:32
# Author:scw
# @File:文件移动_复制_删除.py
# @Software:PyCharm
# Environment:Python3.6
import shutil, os.path, os
def augmented_move(target_folder, *filenames, verbose=False, **specific):
def print_verbose(message, filename):
if verbose:
print(message.format(filename)) # 进展输出
for filename in filenames:
target_path = os.path.join(target_folder, filename)
if filename in specific:
if specific[filename] == 'ignore': # 忽略
print_verbose("Ignoring {0}", filename)
elif specific[filename] == 'copy': # 复制
print_verbose('Copying {0}', filename)
shutil.copyfile(filename, target_path)
elif specific[filename] == 'delete': # 删除
print_verbose('Deleting {0}', filename)
os.remove(filename)
else:
print_verbose('Moving {0}', filename) # 移动
shutil.move(filename, target_path)
specific = {'文件删除.py': 'ignore', '创建文件夹.py': 'copy'} # 对应文件的处理方式
fid = r'C:\Users\24955\PycharmProjects\日常\日常测试小活动' # 把文件移动到或复制到对应的文件夹中
filenames = ('文件删除.py', '创建文件夹.py') # 进行操作的文件名称
# os.chdir(fid) # 实现文件删除时需要定位到指定文件夹,否则默认文件夹为当前程序所在文件夹
augmented_move(fid, *filenames, verbose=True, **specific)
结果展示