我正在寻找jpg,jpeg,png'我的USB驱动器中的文件,并尝试将它们逐个移动到新文件夹。当我尝试手动移动一个文件时,它可以工作,但是当我运行以下程序时它会失败。请告诉我这里的问题。
import re
import os
import ntpath as path
import shutil
path="E:\\Mac"
newpath="E\\Mac\\MovedPics"
os.chdir(path)
expr=r'\.(jpg|JPG|jpeg|JPEG|png|PNG)$'
for file in os.listdir(path):
if os.path.isfile(file):
match=re.search(expr,file)
if match:
abspath=os.path.abspath(file)
print('REGEXP MATCHED :-',abspath)
move=shutil.move(abspath,newpath)
if move:
print('MOVE SUCCESSFUL :-',file)
else:
print('MOVE FAILED:-',file)
break
else:
print('DESTINATION DIR ',newpath, ' DOESNT EXIST', file,':', os.getcwd())
错误: -
DESTINATION DIR E \ Mac \ MovedPics DOESNT EXIST voice_instructions_imperial 2.zip:E:\ Mac DESTINATION DIR E \ Mac \ MovedPics DOESNT EXIST usbpicsdata.txt:E:\ Mac REGEXP MATCHED: - E:\ Mac \ tattoo4.jpg Traceback(最近一次调用最后一次): 文件" C:\ Users \ aryan \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ shutil.py",第544行,移动 os.rename(src,real_dst) FileNotFoundError:[WinError 3]系统找不到指定的路径:' E:\ Mac \ tattoo4.jpg' - > &#39,E \的Mac \ MovedPics'
在处理上述异常期间,发生了另一个异常:
追踪(最近一次通话): 文件"",第7行,in 举动= shutil.move(ABSPATH,NEWPATH) 文件" C:\ Users \ aryan \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ shutil.py",第558行,移动 copy_function(src,real_dst) 文件" C:\ Users \ aryan \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ shutil.py",第257行,在copy2中 copyfile(src,dst,follow_symlinks = follow_symlinks) 文件" C:\ Users \ aryan \ AppData \ Local \ Programs \ Python \ Python36-32 \ lib \ shutil.py",第121行,在copyfile中 打开(dst,' wb')为fdst: FileNotFoundError:[Errno 2]没有这样的文件或目录:' E \ Mac \ MovedPics'
答案 0 :(得分:1)
:
中缺少newpath
:
newpath="E:\\Mac\\MovedPics"
^
顺便说一句,你可以使用原始字符串文字(你可以避免转义反斜杠):
newpath = r"E:\Mac\MovedPics" # == "E:\\Mac\\MovedPics"