![](/img/trans.png)
[英]OSError: [WinError 123] The filename, directory name, or volume label syntax is incorrect
[英]"WinError 123 The filename, directory name, or volume label syntax is incorrect:" When calling os.rename
我正在编写一个脚本,将 torrent 文件夹重命名为更易读的东西......在某些情况下,我会收到上述错误。
我真的不知道出了什么问题。 我试过:os.listdir().sort() == originalFolderNames.sort(): 结果是真的,所以我要重命名的内容和目录中的内容 100% 匹配。
这是导致此问题的代码:
def renameFolders(self, oldAndNewFolderNames):
foldersToRename = oldAndNewFolderNames[1]
originalFolderNames = oldAndNewFolderNames[0]
dirList = os.listdir()
# Rename folders
for d in dirList:
for i in range(len(foldersToRename)):
if d == foldersToRename[i]:
try:
if foldersToRename[i] != "None":
os.rename(r"{}".format(str(originalFolderNames[i])), r"{}".format(str(foldersToRename[i])))
except Exception as Err:
print(Err)
print("Couldn't rename: {} TO ==> {}".format(originalFolderNames[i], foldersToRename[i]))
break
return print("Done!")
我真的希望有人能帮我解决这个问题。 其他出现类似错误的人有非法字符或没有放入原始字符串,所以像“\”这样的东西会导致异常。 我认为我的脚本不是这种情况。
谢谢。
文件名不能有非法字符。 linux 和 windows 的非法字符列表(只有“/”在 linux 上是非法的)
forbiddenChars = [">", "<", "/", ":" '"', "\\", "|", "?", "*"]
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.