簡體   English   中英

python os.rename“”在該文件已存在時無法創建該文件

[英]python os.rename “”cannot create a file when that file already exists

K ..我只是使用在這里找到的簡單腳本:

import os
from os import rename, listdir

print os.listdir(".")
for filename in os.listdir("."):
    if filename.startswith("colon-"):
        print filename
        os.rename(filename, filename[7:])

我基本上需要將所有像Colon-21.mp3這樣的文件轉換為21.mp3。

但是我收到錯誤消息: CANNOT CREATE A FILE WHEN THAT FILE ALREADY EXISTS.無法CANNOT CREATE A FILE WHEN THAT FILE ALREADY EXISTS. 如何解決這個問題? 我正在使用Windows 7。

問題就在這里:

os.rename(filename, filename[7:])

Python索引從0開始,字符串"colon-"只有6個字符長,因此使用您的代碼,冒號21.mp3將變為1.mp3。 更改該行以使用filename[6:]代替,您的問題應該消失了。

也就是說,像您一樣使用硬編碼的字符串長度並不是一個好主意。 正是由於我們在這里發現的原因才容易出錯(像這樣的硬編碼數字通常稱為“幻數”,因為很難說出為什么將它們設置為給定長度)。 一個更好的選擇是:

os.rename(filename, filename.split('-')[1])

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM