我正在尝试通过替换逗号来重命名文件。 我有一个找到错误和传递的函数 单击按钮时的另一个功能。 第二个例子很明显,但我相信 第一个例子中的os.rename再次被带回来。 我究竟做错了什么?
if self.filenames:
print self.dirname ## finds directory
path = self.dirname
dirList=os.listdir(path)
for self.filename in dirList:
print self.dirname ## finds directory
f = self.filename
print f ## finds c,1.txt !!!
if not f.startswith('.') and f.find(',') >= 0:
os.rename(f, f.replace(',',''))
回溯: C,1.TXT 系统找不到指定的文件
if self.filenames:
print self.dirname ## finds directory
for self.filename in os.listdir("."):
print self.dirname ## finds directory
f = self.filename
print f
if not f.startswith('.') and f.find(',') >= 0:
os.rename(f, f.replace(',',''))
替换工作目录中的文件
答案 0 :(得分:0)
我认为您应该将os.rename(f, f.replace(',',''))
更改为os.rename(os.path.join(self.dirname, f), os.path.join(self.dirname, f.replace(',','')))
。本质上,rename
函数需要文件的有效路径,如果文件不在当前目录中,则需要将基本目录路径连接到文件名。