Python-大文件名重命名错误(Win错误3)

时间:2018-07-31 17:03:56

标签: python

当我在Windows Python 3(spyder)中尝试os.rename时,在“ python”中出现以下错误。

os.rename('123456789012345678901234567890123456.jpg', '1234567890123456789012345678901234567.jpg')
  

FileNotFoundError:[WinError 3]系统找不到路径   指定:'123456789012345678901234567890123456.jpg'->   '1234567890123456789012345678901234567.jpg'

上面的文件名有36个字符。

当我尝试使用35个字符的文件名时,我没有收到错误并且重命名可以正常工作。

os.rename('12345678901234567890123456789012345.jpg', '123456789012345678901234567890123456.jpg')

我也尝试在源文件和目标文件中使用完整路径C:.... \ filename进行重命名,但是它可以使用文件名直到35个字符(完整路径包括文件名在内有254个字符)。当我尝试使用255个字符(即完整路径,包括36个字符的文件名)时,出现Win Error3。如果文件不存在(确实),则出现Win Error2。
我正在寻找一种通用的解决方案,以便可以将其应用于所有名为file的大文件。

1 个答案:

答案 0 :(得分:5)

问题在于,添加路径和文件名时,Windows的路径大小限制为260个字符。如果将文件移到更靠近根的位置,它将被重命名就可以了。

有关该主题的更多信息,请参见this documentation