繁体   English   中英

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

[英]Renaming folders and files with a GUI

Python社区

今天,我试图编写一个GUI脚本,以便能够根据用户的意愿来重命名文件夹或文件。 我创建了两个不同的按钮:一个用于重命名文件夹,一个用于重命名文件。 我的问题是,如果我有一个包含多个文件夹和几个.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

提前非常感谢您。

最好的问候,金

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

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

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

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM