我正在使用以下代码,它只是重新开始,如果我让它将永远运行。我试图让它跳过已存在的文件,并在复制完所有文件后停止。
import os
import shutil
source_dir = r"D:\\Tibi"
target_dir = r"D:\\fileSave/"
extensions = (".mp4", ".CR2")
while True:
try:
for directory, _, file_names in os.walk(source_dir):
for file_name in file_names:
if file_name.endswith(extensions):
source_path = os.path.join(directory, file_name)
target_path = os.path.join(target_dir, file_name)
print("Moving {} to {} from {}".format(file_name, target_dir, directory))
shutil.copy(source_path, target_dir)
except shutil.SameFileError:
print("{} is already in the folder".format(file_name))
请注意,我将异常放在那里,因为当它在已经存在的文件夹中找到一个文件时会有困难。
答案 0 :(得分:0)
您可以使用os.listdir()
创建目录中所有文件和文件夹的列表,然后使用for迭代浏览文件列表
这样的事情就足够了
import os
files = os.listdir("D:\\Tibi")
for file in files:
"copy files..."