Errno 2 使用 python shutil.py 文件目标没有这样的文件或目录
Errno 2 using python shutil.py No such file or directory for file destination
我正在使用 shutil python 模块在 linux redhat 机器上复制文件和目录。
我写了下面的方法,它接受 2 个参数:src(正在收集的文件或目录的路径)和目标(所收集的 log/dir 正在粘贴的所需新路径到).
def copy(src, destination):
if(os.path.exists(src)):
if(os.path.isdir(src)):
if(os.path.exists(destination)):
shutil.copytree(src, destination+getTimeStamp())
else:
shutil.copytree(src, destination)
else:
shutil.copy(src, destination)
else:
print src+" not found"
我一直用这个方法很好,但是我最近运行在运行这段代码时出错:
copy("/home/midgar/logs/logger.xml", currentPath+"/testrun/logs/logger.xml")
错误:IOError:[Errno 2] 没有那个文件或目录:'collectedLogs/testrun/logs/logger.xml'
如果它正在寻找的文件或目录是 src,我会理解这个错误意味着什么,但这是导致错误的目标。我发现抛出错误的这行代码转到了行: "shutil.copy(src, destination)" 在我的复制方法中。
到目前为止,我的复制方法只是覆盖现有文件,如果存在现有目录,它会创建一个带有时间戳的新目录。在这种情况下,目标文件无论如何都不存在。那么,可能是什么问题?为什么我会在 DESTINATION 路径中收到此错误(当我通常希望在 SRC 路径中看到此类错误时)。
会不会是因为这是一个.xml文件?
当我收到此错误时,通常意味着其中一个文件夹不存在。
我写了一个简单的脚本来测试它。在下面的脚本中,备份文件夹确实存在,但今天的文件夹不存在。当我 运行 脚本时,我得到了和你一样的错误。
IOError: [Errno 2] 没有那个文件或目录: 'backup/today/my_file.txt'
import shutil
shutil.copy("my_file.txt", "backup/today/my_file.txt")
如果您的所有文件夹都存在,我会检查以确保它们的权限没有改变。
默认情况下,shutil.copytree()
跟随(解析)符号链接。如果符号链接被破坏,它会引发 No such file or directory
异常。一种解决方法是通过传递 symlinks=True
.
指定应复制未解析的符号链接
我正在使用 shutil python 模块在 linux redhat 机器上复制文件和目录。
我写了下面的方法,它接受 2 个参数:src(正在收集的文件或目录的路径)和目标(所收集的 log/dir 正在粘贴的所需新路径到).
def copy(src, destination):
if(os.path.exists(src)):
if(os.path.isdir(src)):
if(os.path.exists(destination)):
shutil.copytree(src, destination+getTimeStamp())
else:
shutil.copytree(src, destination)
else:
shutil.copy(src, destination)
else:
print src+" not found"
我一直用这个方法很好,但是我最近运行在运行这段代码时出错:
copy("/home/midgar/logs/logger.xml", currentPath+"/testrun/logs/logger.xml")
错误:IOError:[Errno 2] 没有那个文件或目录:'collectedLogs/testrun/logs/logger.xml'
如果它正在寻找的文件或目录是 src,我会理解这个错误意味着什么,但这是导致错误的目标。我发现抛出错误的这行代码转到了行: "shutil.copy(src, destination)" 在我的复制方法中。
到目前为止,我的复制方法只是覆盖现有文件,如果存在现有目录,它会创建一个带有时间戳的新目录。在这种情况下,目标文件无论如何都不存在。那么,可能是什么问题?为什么我会在 DESTINATION 路径中收到此错误(当我通常希望在 SRC 路径中看到此类错误时)。
会不会是因为这是一个.xml文件?
当我收到此错误时,通常意味着其中一个文件夹不存在。
我写了一个简单的脚本来测试它。在下面的脚本中,备份文件夹确实存在,但今天的文件夹不存在。当我 运行 脚本时,我得到了和你一样的错误。
IOError: [Errno 2] 没有那个文件或目录: 'backup/today/my_file.txt'
import shutil
shutil.copy("my_file.txt", "backup/today/my_file.txt")
如果您的所有文件夹都存在,我会检查以确保它们的权限没有改变。
默认情况下,shutil.copytree()
跟随(解析)符号链接。如果符号链接被破坏,它会引发 No such file or directory
异常。一种解决方法是通过传递 symlinks=True
.