使用GUI重命名文件夹和文件

时间:2018-07-17 20:37:47

标签: python user-interface

Python社区

今天,我试图编写一个GUI脚本,以便能够根据用户的意愿来重命名文件夹或文件。我创建了两个不同的按钮:一个用于重命名文件夹,一个用于重命名文件。 我的问题是如果我有f.e.一个包含多个文件夹和几个.txt文件的文件夹,我的脚本无法仅重命名该文件夹或仅重命名.txt文件。

为解决此问题,我想到了使用os.path.isdir函数生成TRUE和FALSE值的列表的方法,文件夹称为TRUE,然后重命名满足此条件的对象。 因为我是编程新手,所以我的知识是有限的,因此,如果有人愿意给我一个想法,如如何改善我的代码并能够设计自己的GUI,我将感到非常高兴。

这是我的代码的一部分(仅与我的较大GUI代码相对应):

import os

Pattern = self.PatternName.text()

#Rename Folders
objects = os.listdir(self.folders)
i = 0
for folder in objects:
    os.rename(os.path.join(self.folders, folder),
              os.path.join(self.folders, Pattern + str(i)))
    i += 1

#Rename Files
files = os.listdir(self.files)
i = 0
for file in files:
    filename, file_extension = os.path.splitext(file)
    os.rename(os.path.join(self.files, file), 
              os.path.join(self.files, Pattern + str(i) + file_extension))
    i += 1

非常感谢您。

最好的问候, 金

1 个答案:

答案 0 :(得分:0)

尝试使用python的os.walk函数。来自python 2 documentation :(也可以在python 3中使用)

  

对于以目录顶部(包括顶部)为根的树中的每个目录   本身),则生成一个三元组(目录路径,目录名,文件名)

我不知道这是否正是您要执行的操作,因为这会递归遍历整个目录结构,而不仅仅是下一级目录。