如果路径仅存在,如何将文件从一个路径复制到另一个路径

How to copy file from one path to another if path exist only

我正在互联网上搜索但没有得到

如果我的源路径和目标路径存在则只复制 源文件:abc.csv 到目标路径

import shutil 

shutil.copyfile("/demo/abc.csv" "/dummy/")

如果目标路径不存在,它正在创建我不希望它发生

如果两条路径都存在则仅将abc.csv从一条路径复制到另一条路径

您可以使用 os.path.isdir() 检查目录是否存在。

destination_dir = ""
file_name = ""
if os.path.isdir(destination_dir):
    try:
        path = os.path.join(destination_dir, file_name)
        shutil.copyfile("/demo/abc.csv", path)
    except:
        # handle error

我对这个问题的解释是,源是一个文件,目标是一个目录,而且只有在源存在(作为普通文件)并且目标存在(作为目录)的情况下,才应该尝试复制).如果是这样的话:

import os
import shutil

def safe_copy(source_file, target_directory):
  if os.path.isfile(source_file) and os.path.isdir(target_directory):
      shutil.copyfile(source_file, os.path.join(target_directory, os.path.basename(source_file)))

给定一个源文件 /home/test.txt 和一个目标目录 /foo 然后如果 /home/test.txt 存在并且 /foo 是一个现有目录然后复制将发生(如果允许)结果在 /foo/test.txt 中创建或覆盖