【发布时间】:2014-07-25 15:20:04
【问题描述】:
我想通过 python 使用 shutil.copyfile 复制太长的路径。
现在我阅读了这个Copy a file with a too long path to another directory in Python 页面以获得解决方案。我用过:
shutil.copyfile(r'\\\\?\\' + ErrFileName,testPath+"\\"+FilenameforCSV+"_lyrErrs"+timestrLyr+".csv")
复制文件但它给了我一个错误:[Errno 2] No such file or directory: '\\\\?\\C:\\...
谁能告诉我如何将长路径与 Shutil.copyfile 合并,我上面使用的方法应该允许文件路径中包含 32k 个字符,但我什至无法达到 1000 个并且它给了我这个错误。
【问题讨论】:
-
它是
'\\\\?\\'。您不能在单个反斜杠上结束原始字符串,因此您不能为此使用原始字符串。这也是不能替换正斜杠的情况,即'//?/'。 -
嗨 eryksun 当我使用 '\\\\?\\' [Errno 22] invalid mode ('rb') or filename: 运行它时,它给了我这个错误,现在我确定文件名称是正确的,我已经关闭了文件,我不明白为什么会出现这种情况
-
还有其他处理长路径的方法吗?我有很大的路径,路径字符串可能长达 1000 或 1500 个字符
-
嗨 eryksun 这仍然给我同样的错误,[Errno 2] 没有这样的文件或目录,我们可以使用 python shell 脚本强制复制长路径吗?
-
我的基本路径是一个绝对路径("C:\\test1234\\test4567\\...) 并且使用 \\.join 将剩余路径添加到基本路径的循环中,并且它仍然给我同样的错误,文件系统是 NTFS。你认为 python shell 脚本可以在长路径上强制复制吗?有没有办法做到这一点?
标签: python-2.7 shutil file-copying