栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

批量修改文件名(python)

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

批量修改文件名(python)

任务:

1、打开和程序同一目录下的名为“配置.txt”的文件夹

“配置.txt”构成如下
    第一行:一个绝对路径,如"D:PPT模板"
    第二行~第n行:每行一行文字,如“www.baidu.com”,“北京XX大学”这样的串,每行一个

2、把第一行的绝对路径下的所有文件名处理一下,删除和“ 第二行~第n行”指定文字匹配的内容

如,原来文件名"D:[PPT模板北京XX大学logo.png"
更改后文件名“D:PPT模板logo.png”,其中在“配置.txt”中指定的“北京XX大学”删掉。

提交:
python源码
exe文件,双击直接实现功能
 

代码:

f = open("D:\Python\Lib\peizhi.txt", "w")
f.write("D:\xiugainwww.baidu.comn北京XX大学nwww.hao123.comn")
f.close()



import os
path = "D:\xiugai"
f = open("D:\Python\Lib\peizhi.txt","r")

files = os.listdir(path)
next(f)
for line in f:
  #print(line)
  for file in files:
    old = path + os.sep + file
    #print(file)
    #print(line)
    new = path + os.sep + file.replace(line,'')
    os.rename(old,new)
f.close()

第一次写时 发现replace不了 后来才知道line遍历时 会把字符串后面的‘n’带进去导致在配对时对应不上从而不能修改。

因此:加入lines = f.read().splitlines()   把字符串后的“n”   去掉

而且应该是根据已有的配置.txt来修改,不用重新写

于是:

import os
path = "D:\xiugai"
f = open("D:\Python\Lib\peizhi.txt","r")
next(f)
lines = f.read().splitlines()
files = os.listdir(path)
for line in lines:
  #print(line)
  for file in files:
    old = path + os.sep + file
    print(file)
    print(line)
    new = path + os.sep + file.replace(line,'')
    os.rename(old,new)
f.close()

但是文件名若有多个关键词需要修改,一次只能删一个

最终代码:

import os
f = open("配置.txt","r",encoding='UTF-8')
lines = f.read().splitlines()
path =str(lines[0])
#print(lines[0])
files = os.listdir(path)
for line in lines:
    files = os.listdir(path)
    for file in files:
        old = path + os.sep + file
        new = path + os.sep + file.replace(line,'')
        os.rename(old,new)
f.close()

在两个for语句之间再加一句   files = os.listdir(path)

就是在每次循环后重新读取文件的名字,然后接着配对修改即可。

生成exe:

在pycharm里下载好Pyinstaller这个库,然后打开终端(alt+F12)

输入pip install pyinstaller 即可安装

然后再在终端输入 pyinstaller -F xxxx.py(xxxx.py为你的脚本名字)

刚开始我按网上的 pyinstaller -F -w xxxx.py  发现exe报错无法打开

后面百度把-w去掉即可。

最后把配置.txt  exe文件和源码放一起即可。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/1022624.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号