繁体   English   中英

python - 仅当目标中不存在文件时,如何将文件从一个目录复制到另一个目录?

[英]python - How to copy files from one directory to another only if the file is not present in destination?

如果 dest_dir 中不存在该文件,我想按文件名检查文件并从 src_dir 复制到各自文件夹中的 dest_dir。

例如,我有一个

src_dir

  • 第一个文件夹
    • 文件 1
    • 文件 3
    • 文件4
  • 第二个文件夹
    • 文件 1
    • 文件2
  • 另一个文件夹
    • 文件1.txt
    • 文件2.txt

dest_dir

  • 第一个文件夹

    • 文件 1
    • 文件2
  • 第二个文件夹

    • 文件 1
  • 第三个文件夹

  • 另一个文件夹

    • 文件.txt

结果应该是,

dest_dir

  • 第一个文件夹

    • 文件 1
    • 文件2
    • 文件 3
    • 文件4
  • 第二个文件夹

    • 文件 1
    • 文件2
  • 第三个文件夹

  • 另一个文件夹

    • 文件.txt
    • 文件1.txt
    • 文件2.txt

这里部分回答。

import os
from shutil import copyfile

filename = 'file.ext'
src_dir = 'src/'
dst_dir = 'dst/'

if not os.path.isfile(dst_dir + filename):
   copyfile(src_dir + filename, dst_dir + filename)

如果您希望对目录中的每个文件都这样做:

import os
from shutil import copyfile
import glob

src_dir = 'src/'
dst_dir = 'dst/'

for file_path in glob.glob(os.path.join(src_dir, '*')):
    filename = os.path.basename(file_path)
    if os.path.isfile(file_path) and not os.path.isfile(dst_dir + filename):
        copyfile(file_path, dst_dir + filename)

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM