Python FileNotFoundError如何处理长文件名

我有一个奇怪的问题。我既不能重命名特定文件,也不能删除它们。我收到FileNotFoundError。

之前已经问过类似的问题。解决此问题的方法是使用完整路径,而不仅仅是文件名。

我的脚本在仅使用文件名之前有效,但是使用其他文件时,即使使用完整路径,我也会收到此错误。

似乎文件名导致了错误,但我无法解决。

import os

cwd = os.getcwd()

file = "003de5664668f009cbaa7944fe188ee1_recursion1.c_2016-04-21-21-06-11_9bacb48fecd32b8cb99238721e7e27a3."
change = "student_1_recursion1.c_2016-04-21-21-06-11_9bacb48fecd32b8cb99238721e7e27a3."

oldname = os.path.join(cwd,file)
newname = os.path.join(cwd,change)

print(file in os.listdir())
print(os.path.isfile(file))
os.rename(oldname, newname)

我得到以下输出:

True
False
Traceback (most recent call last):
  File "C:\Users\X\Desktop\code\sub\test.py", line 13, in <module>
    os.rename(oldname, newname)
FileNotFoundError: [WinError 2] Das System kann die angegebene Datei nicht finden: 'C:\\Users\\X\\Desktop\\code\\sub\\003de5664668f009cbaa7944fe188ee1_recursion1.c_2016-04-21-21-06-11_9bacb48fecd32b8cb99238721e7e27a3.' -> 'C:\\Users\\X\\Desktop\\code\\sub\\student_1_recursion1.c_2016-04-21-21-06-11_9bacb48fecd32b8cb99238721e7e27a3.'
[Finished in 0.4s with exit code 1]

如果我在文件夹中使用Windows搜索,则该文件存在。如果我尝试使用完整路径,我还会收到Windows错误,找不到文件。

我还尝试将unicode字符串u''+ filename附加到字符串中,因为它是由用户建议的。

路径长度<260,那么是什么引起了问题呢?

威姆

这是Windows / Python的东西。带有尾部的文件名有时会被修剪。

如果这是一项一次性任务,则可以使用两个尾随时间作为解决方法。

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章