您好,我是新程序员,正在尝试编写一个程序,将计算机上找到的所有jpeg复制到一个文件夹中。
该程序似乎可以找到所有jpeg,但是在将它们复制到新文件夹中时没有任何反应。
有人可以帮我吗?谢谢
我已经确保对目标文件夹的访问权限很好。
# program to go through all directories
# and copy found jpg files
# to new folder
import os
from shutil import copy2
#replace below with your directory / destination folder
src = "/home/coyotejoe"
dst = '/home/coyotejoe/Desktop/JPG'
for root, dirs, files in os.walk(src, topdown=True):
for name in files:
if name.endswith('jpg'):
try:
copy2(os.path.join(src,name), os.path.join(dst, name))
except:
pass
打印所有jpeg的名称,但目标文件夹仍为空白
答案 0 :(得分:0)
我在计算机上的具有“ png”文件的目录中尝试了您的代码,并且可以正常工作。
#replace below with your directory / destination folder
src = "C:\S\SODTEST\SODTEST"
dst = 'C:\S\SODTEST'
import os
from shutil import copy2
for root, dirs, files in os.walk(src, topdown=True):
for name in files:
if name.endswith('png'):
try:
copy2(os.path.join(src,name), os.path.join(dst, name))
except Exception as e:
print(e)
观察您得到的异常而不是makine,它会以静默方式失败。
您正在os漫游并且忽略子目录。如果您的子目录中包含jpg,请使用copy2(os.path.join(root, name), os.path.join(dst, name))
。