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