python之文件批量更名及文件名批量存储

   
      如果self.savefilenameformat输入为空的情况下,将文件夹中的文件名下入txt文本以及其他类型文档中,在这里有两种选择模式,默认self.choosefilenameformat=2是把当前文件夹中的文件的文件名下入文档中,模式self.choosefilenameformat=1下是将当前文件夹中的文件其所属路径下入文档中;如果self.savefilenameformat='.doc'有赋值的时候,执行的是对当前文件夹中的文件进行更名操作。

      程序运行环境在python3.6下,安装PyQt5,pip install PyQt5,并导入库目录。import os,import sys。

      程序运行界面图:

文件夹操作主程序:

    def change_file(self, file, file_suffix, file_suffix_change):
        """
        对文件夹中的文件后缀名进行更改
        :param file: 被更改的文件夹地址
        :param file_suffix: 更改的文件后缀名
        :param file_suffix_change: 更改文件改成的文件后缀名
        :return:
        """
        files = os.listdir(file)  # 将文件夹中
        print(files)
        tmp=0
        for filename in files:
            print("文件名", filename)
            portion = os.path.splitext(filename)
            if portion[1] == file_suffix:
                newname = portion[0] + file_suffix_change
                print("改后的文件名", newname)
                os.chdir(file)  # 改变当前工作目录到指定的路径
                os.rename(filename, newname)
                tmp+=1
        self.filenamenum=tmp

    def Write_Data(self, filename, filename_write, filename_suffix='.txt', file_choose=2):
        """
        将文件夹中的文件的文件名写入文档中
        :param filename: 读取文件名的位置
        :param filename_write: 写入文件名文件的存储位置
        :param filename_suffix: 读取文件的后缀名,默认.txt文档
        :param file_choose:1为写入所有地址,2为写入文件夹下文件名的地址
        :return:
        """
        self.datalen=0
        if file_choose == 1:
            files = os.listdir(filename)
            data = []
            for file in files:
                portion = os.path.splitext(file)
                if portion[1] == filename_suffix:
                    # print(filename + file)
                    data.append(filename + file)
            self.datalen=len(data)
            if len(data) != 0:
                f = open(filename_write, 'w')
                for i in range(len(data)):
                    f.write(data[i] + '\n')
                f.close()
        elif file_choose == 2:
            files = os.listdir(filename)
            data = []
            for file in files:
                portion = os.path.splitext(file)
                if portion[1] == filename_suffix:
                    # print(file)
                    data.append(file)
            self.datalen = len(data)
            if len(data) != 0:
                f = open(filename_write, 'w')
                for i in range(len(data)):
                    f.write(data[i] + '\n')
                f.close()
        else:
            print("file_choose:1为写入所有地址,2为写入文件夹下文件名的地址")

完整程序界面运行:https://download.csdn.net/download/zx520113/10790869

如需要输出成.exe执行文件,可以通过pyinstaller输出,可以参考:

https://blog.csdn.net/zx520113/article/details/80926011

https://blog.csdn.net/zx520113/article/details/82793312

  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值