我有这个代码重命名一些文件,但当它的情况下,有多个文件具有相同的名称;在“其他”部分甚至没有返回的Hello World蟒蛇,字典和if语句
TArchivo是文件的进一步扩展:像“ JPG”和NÚMERO是,它会从名称 例如串的数量:
Onthedirectory: 'name.txt'
DEF除去(3, 'TXT。')
onthedirectory: 'e.txt'
import os def remove(Numero,TArchivo): n = 0 for fn in os.listdir("."): if fn[-4:] == TArchivo: if len(fn) > Numero: nombre = fn[Numero:-4:] nn = '' nn = nombre + TArchivo if nn not in os.listdir('.'): os.rename(fn,nn) else: print 'hello world' n = n + 1 nombre = fn[Numero:-4] + str(n) nn = nombre + TArchivo os.rename(fn,nn) return
我得到这个错误: WindowsError:[错误183]无法创建一个已经存在文件
我试图用n变量做的是,当有一个与在相同名称的文件目录它会添加一个数字到新名称,然后重命名它
'print hello world'或'print'hello world''?你得到的错误是什么?什么是“TArchivo”或“Numero”? –
我想象一下,TArchivo是一个4字符长的后缀,比如'.txt'。 – rudolfovic
fn [Numero:-4:]'不会为你做到这一点。试试: '>>>“somefilenamelongerthanten.txt”[10:-4:]' 你会得到:''melongerthanten'' 如果你很幸运并且名字大于14个字符,它将从#10开始。您可能处于无法获得的情况下,例如''thirteen.txt'[10:-4:]' – rudolfovic