我正在尝试编写一个 python 脚本,将某些文件从源文件夹复制到目标,但是只应复制新创建的文件。 例如,源文件夹包含 2005 个文件,目标文件夹包含 2000 个文件,我的脚本应该复制 5 个丢失的文件
在下面的脚本中,逻辑是记录扩展名为“.extension”的文件的修改时间,并尝试获取它并在下一步中进行比较
import sys, os, shutil
import glob
import os.path, time
fob = open(r"C:\Python\Log.txt","a")
dir_src = r"C:\Python\Source"
dir_dst = r"C:\Python\Dest"
for w in os.listdir(dir_src):
if w.endswith('.extenstion'):
pathname = os.path.join(dir_src, w)
if not Date_File in (fob):
shutil.copy2(pathname, dir_dst)
fob.write("File Name: %s" % os.path.basename(pathname))
fob.write(" Last modified Date: %s" % time.ctime(os.path.getmtime(pathname)))
fob.write(" Copied On: %s" % time.strftime("%c"))
fob.write("\n")
fob.close()
os.system("PAUSE")
我找不到比较日期并检查是否应复制文件的方法。
欢迎任何其他方法。
最佳答案
您应该能够通过执行 list(set(os.listdir(dir_src)) - set(os.listdir(dir_dst))) 从源文件夹中删除目标文件夹中已存在的文件
并迭代此列表。
关于Python - 如何仅复制新修改的文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/28697578/