簡體   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