我正在使用shutil python模块在linux redhat机器上复制文件和目录.
我编写了以下方法,该方法包含2个参数:src(正在收集的文件或目录的路径)和目的地(将收集的日志/目录粘贴到的所需新路径).
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文件?