重命名列表文件无法找到文件

时间:2013-08-16 01:40:05

标签: python operating-system

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

替换工作目录中的文件

1 个答案:

答案 0 :(得分:0)

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