簡體   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