gra*_*aci 1 python error-handling operating-system rename
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:])
Run Code Online (Sandbox Code Playgroud)
我基本上需要将所有像Colon-21.mp3这样的文件转换为21.mp3。
但是我得到一个错误,CANNOT CREATE A FILE WHEN THAT FILE ALREADY EXISTS.
如何解决这个问题?我正在使用Windows 7。
问题就在这里:
os.rename(filename, filename[7:])
Run Code Online (Sandbox Code Playgroud)
Python索引从0开始,并且字符串"colon-"
只有6个字符长,因此使用您的代码,冒号21.mp3将变为1.mp3。更改该行以filename[6:]
代替使用,您的问题应该消失了。
也就是说,像您一样使用硬编码的字符串长度并不是一个好主意。正是由于我们在这里发现的原因才容易出错(像这样的硬编码数字通常称为“魔术数字”,因为很难说出为什么将它们设置为给定长度)。一个更好的选择是:
os.rename(filename, filename.split('-')[1])
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
7104 次 |
最近记录: |