0

我正在尝试通过替换逗号来重命名文件。我有一个函数可以找到错误并在单击按钮时传递给另一个函数。第二个例子很明显,但是我相信第一个例子中的 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(',',''))

Traceback: 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(',',''))

替换工作目录中的文件

4

1 回答 1

0

我认为您应该更改os.rename(f, f.replace(',',''))os.rename(os.path.join(self.dirname, f), os.path.join(self.dirname, f.replace(',',''))). 本质上,该rename函数需要一个有效的文件路径,如果文件不在当前目录中,则需要将基本目录路径连接到文件名。

于 2013-08-16T04:02:25.197 回答