Python 复制“树升起”;[Errno 2]没有这样的文件或目录";目的地
我有一个python服务,它在某个时候会将目录从一个位置复制到另一个位置。当服务首次运行时,它会引发一个错误Python 复制“树升起”;[Errno 2]没有这样的文件或目录";目的地,python,Python,我有一个python服务,它在某个时候会将目录从一个位置复制到另一个位置。当服务首次运行时,它会引发一个错误“[Errno 2]没有这样的文件或目录”,将目标报告为问题 [Errno 2] No such file or directory: u'/opt/app/Gemfile.lock' 我不希望目的地在那里,因为我还没有复制它。阅读distutils的文档时,会发现如果路径不存在,它会为您创建路径 #! /usr/bin/env python import distutils.core
“[Errno 2]没有这样的文件或目录”
,将目标报告为问题
[Errno 2] No such file or directory: u'/opt/app/Gemfile.lock'
我不希望目的地在那里,因为我还没有复制它。阅读distutils的文档时,会发现如果路径不存在,它会为您创建路径
#! /usr/bin/env python
import distutils.core
import os
files = []
file = {}
file['source'] = "/origin/folder"
file['destination'] = "/destionation/folder"
files.append(file)
def copy_files(files, logger):
for file in files:
if file['source'].startswith('/'):
source = os.path.join(deployment.archive_dir, file['source'][1:])
else:
source = os.path.join(deployment.archive_dir, file['source'])
if os.path.isdir(source):
distutils.dir_util.copy_tree(source, file['destination'])
else:
if not os.path.isdir(file['destination']):
distutils.dir_util.mkpath(file['destination'])
distutils.file_util.copy_file(source, file['destination'])
copy_files(files)
这是一条正在抛出的线:
distutils.dir_util.copy_tree(source, file['destination'])
问题是,您没有首先检查文件['destination'],因此,由于该文件不存在,导致引发错误。所以除了检查is.dir(源)之外,还应该检查is.dir(文件['destination']) 问题是,您没有首先检查文件['destination'],因此,由于该文件不存在,会导致引发错误。所以除了检查is.dir(源)之外,还应该检查is.dir(文件['destination']) 如果不是目录,它不应该创建目的地吗?看看这篇帖子:我应该使用shutil over Distils吗?我不知道你可以试试,看看它是否适合你。或者正如我说的,首先检查目的地,看看它是否是正确的路径(就像您使用src时所做的那样,因为您的文件路径格式可能是错误的),如果它不是目录,它不应该创建目的地吗?看看这篇帖子:我应该使用shutil over Distils吗?我不知道你可以试试,看看它是否适合你。或者正如我所说的,首先检查目的地,看看它是否是正确的路径(就像您使用src时所做的那样,因为您的文件路径格式可能是错误的)