文件复制Python
我写了一个小的Python脚本,将数据从U盘复制到我的桌面上,但它不起作用文件复制Python,python,Python,我写了一个小的Python脚本,将数据从U盘复制到我的桌面上,但它不起作用 while True: while True: if os.path.ismount("/media/usb0"): print ("USB erkannt") for filenames in glob("/media/usb0/DCIM/*.jpg"): shutil.copy2("/media/usb0
while True:
while True:
if os.path.ismount("/media/usb0"):
print ("USB erkannt")
for filenames in glob("/media/usb0/DCIM/*.jpg"):
shutil.copy2("/media/usb0/DCIM"+filenames, "/home/pi/Desktop/lh/"+filenames)
break
sleep(1)
sleep(1)
重复一下:
USB erkannt
Traceback (most recent call last):
File "/home/pi/Desktop/usbTest.py", line 12, in <module>
shutil.copy2("/media/usb0/DCIM"+filenames, "/home/pi/Desktop/lh/"+filenames)
File "/usr/lib/python3.4/shutil.py", line 244, in copy2
copyfile(src, dst, follow_symlinks=follow_symlinks)
File "/usr/lib/python3.4/shutil.py", line 107, in copyfile
with open(src, 'rb') as fsrc:
FileNotFoundError: [Errno 2] No such file or directory: '/media/usb0/DCIM/media/usb0/DCIM/20170318_120140.jpg'
usberkannt
回溯(最近一次呼叫最后一次):
文件“/home/pi/Desktop/usbTest.py”,第12行,在
copy2(“/media/usb0/DCIM”+文件名,“/home/pi/Desktop/lh/”+文件名)
文件“/usr/lib/python3.4/shutil.py”,第244行,在copy2中
复制文件(src、dst、follow_symlinks=follow_symlinks)
文件“/usr/lib/python3.4/shutil.py”,第107行,在copyfile中
开放式(src,'rb')作为fsrc:
FileNotFoundError:[Errno 2]没有这样的文件或目录:'/media/usb0/DCIM/media/usb0/DCIM/20170318_120140.jpg'
在棒上,结构类似于/DMCI/examples.jpg
并且20170318_120140.jpg“存在”您已经在迭代中的每个文件
for filename in glob("/media/usb0/DCIM/*.jpg"):
现在,当您尝试访问“/media/usb0/DCIM”+filename
时,它将包含第一部分两次,您可以在错误中看到:”/media/usb0/DCIM/media/usb0/DCIM/20170318_120140.jpg'
试着使用
for filename in glob("/media/usb0/DCIM/*.jpg"):
shutil.copy2(filename, "/home/pi/Desktop/lh/"+filename)
我还猜您可能想要
“/home/pi/Desktop/lh/”+os.path.basename(filename)
,因此您只将旧文件名作为新文件名,而不将整个路径作为新文件名。为什么只有1个while循环就有2个while循环?此外,这将无休止地复制文件(覆盖?)filename
变量包含文件的完整路径。您不必在copy2()
函数中添加/media/usb0/DCIM
来运行脚本endlessy您复制了这个:/media/usb0/DCIM/media/usb0/DCIM/edit:@kuro best me toit@FelixStepponat如果去掉中断
,就可以去掉外部while循环。