正在将文件夹内容移动到另一个--CopyTree不起作用



我正在尝试将内容从一个文件夹移动到另一个文件夹,同时排除某些类型的文件。到目前为止使用的脚本,

OD_daily_files = "C:\Users\" + checkuser + "\Gas South\SRM Team - General\Risk Management\Storage\EBB Downloads\Daily_Files"
SD_daily_files = "S:\Supply\Risk Management\Daily auto downloads\Storage\Daily_Files"
files = os.listdir(OD_daily_files)
for x in files:
shutil.copytree(OD_daily_files + "\" + x, SD_daily_files, 
ignore=ignore_patterns('File_Examples*', '*.lnk', '*.pptx', '*.accdb', '*.bat'))

我一直收到以下错误,

NotADirectoryError: [WinError 267] The directory name is invalid: 'C:\Users\GAS02224\Gas South\SRM Team - General\Risk Management\Storage\EBB Downloads\Daily_Files\Access_Storage_Rev7.bat'

此文件在该目录/文件夹中。

使用r-string。

OD_daily_files = r"C:\Users\" + checkuser + r"\Gas South\SRM Team - General\Risk Management\Storage\EBB Downloads\Daily_Files"
SD_daily_files = r"S:\Supply\Risk Management\Daily auto downloads\Storage\Daily_Files"
files = os.listdir(OD_daily_files)
for x in files:
shutil.copytree(OD_daily_files + "\" + x, SD_daily_files, 
ignore=ignore_patterns('File_Examples*', '*.lnk', '*.pptx', '*.accdb', '*.bat'))

这是用下面的代码解决的

if checkuser != "ROBOT":
OD_daily_files = "C:\Users\" + checkuser + "\Gas South\SRM Team - General\Risk Management\Storage\EBB Downloads\Daily_Files"
SD_daily_files = "S:\Supply\Risk Management\Daily auto downloads\Storage\Daily_Files"
files = os.listdir(OD_daily_files)
for x in files:
try:
shutil.copy(OD_daily_files + "\" + x, SD_daily_files)
print(x + " file was copied over to the S Drive.")
except:
print("")
print(x + " file and/or folder was not copied over.")
print("")
next 

最新更新