当我在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的大文件。
答案 0 :(得分:5)
问题在于,添加路径和文件名时,Windows的路径大小限制为260个字符。如果将文件移到更靠近根的位置,它将被重命名就可以了。
有关该主题的更多信息,请参见this documentation。