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