import os
import shutil
os.chdir('C:\\')
dir_src = ('C:\\Users\\Tibi\\Desktop\\New Folder\\New Folder')
dir_dst = ('D:\\test')
for folder in os.walk(dir_src):
print(folder)
for filename in os.listdir(dir_src):
if filename.endswith('.CR2'):
shutil.copy(dir_src + filename, dir_dst)
print(filename)
請注意,導致它退出的文件是我想要複製到測試文件夾的文件之一。我試過使用其他文件類型,他們也不工作。爲什麼我不能使用shutil來複制.CR2文件?
輸出:
Traceback (most recent call last):
File "copyfiletree.py", line 14, in <module>
shutil.copy(dir_src + filename, dir_dst)
File "C:\Users\Tibi\Anaconda3\lib\shutil.py", line 235, in copy
copyfile(src, dst, follow_symlinks=follow_symlinks)
File "C:\Users\Tibi\Anaconda3\lib\shutil.py", line 114, in copyfile
with open(src, 'rb') as fsrc:
FileNotFoundError: [Errno 2] No such file or directory: 'C:\\New FolderIMG_5221.CR2'
我想我應該提到我的計算機感染了勒索孢(但是,這些文件是不加密)。
新的代碼,我想要使用:
import os
import shutil
#os.chdir('C:\\')
dir_src = ('D:\\Users\\Tibi\\Pictures')
dir_dst = ('D:\\test')
#while True:
# try:
# for folder in os.walk(dir_src):
# print(folder)
# for filename in os.listdir(dir_src):
# if filename.endswith('.CR2'):
# shutil.copy(dir_src + '\\' + filename, dir_dst)
# print(filename)
# except UnicodeEncodeError:
# print(">>>>>>>>>>>>>>>>>>>>>>>>>>>>>File %s was Skipped!<<<<<<<<<<<<<<<<<<<<<<<<<<<<<" %filename)
import pathlib
import glob
dir_src = pathlib.Path(r'D:\\Users\\Tibi\\Pictures//Move')
dir_dst = pathlib.Path(r'D:\test')
for file in dir_src.rglob('*.mp4'):
shutil.copy(str(file), str(dir_dst/file.name))
print("Current File is: %s" % file)
'dir_src + filename'在它們之間沒有像「\」這樣的路徑分隔符。 – Brian
對於原始字符串,它應該是'r'D:\ Users \ Tibi \ Pictures \ Move',但它不應該有所作爲。還要注意''* .mp4''不會匹配'file.MP4',如果你想忽略大小寫,你需要''*。[Mm] [Pp] 4''。 –