繁体   English   中英

"WinError 123 The filename, directory name, or volume label syntax is incorrect:" 当调用 os.rename

[英]"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.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM