目錄
前沿
代碼實作
結果展示
前沿
主要為對檔案的系列操作組合,對于大量重複性移動、複制、删除等工作,可嘗試使用。
代碼實作
# -*- 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)