吾爱破解 - 52pojie.cn

 找回密码
 注册[Register]

QQ登录

只需一步,快速开始

查看: 2923|回复: 15
收起左侧

[Python 转载] 文件后缀名修改器

[复制链接]
hanaoran1234 发表于 2020-10-4 12:49
本人学了一上午Python,跑来写了一个程序,分享给大家,共同进步。

测试图:



import os #导入OS模块
path=input("请输入文件夹的绝对路径(如D:\Python):")
str_a=input("请输入要修改的后缀名(如txt):")
str_b=input("请输入要改为的后缀名(如docx):")
files_list=[]
for file in os.scandir(path): #遍历目录下所有文件和文件夹
    if file.is_dir()==False and file.name.endswith('.'+str_a): #不是文件夹且后缀名是要修改的
        files_list.append(file.name) #加入修改列表里
if len(files_list)==0: #没有就退出
    print("修改失败,未找到文件。")
    exit(0)
for i in range(len(files_list)):
    ext=os.path.splitext(path+'\\'+files_list[i]) #分离文件名和后缀名
    os.rename(ext[0]+ext[1],ext[0]+'.'+str_b) #进行重命名操作
print(f"修改完成,共修改了{len(files_list)}个文件。") 

免费评分

参与人数 2吾爱币 +1 热心值 +2 收起 理由
魔-沫 + 1 + 1 谢谢@Thanks!
IMAsongshu + 1 热心回复!

查看全部评分

发帖前要善用论坛搜索功能,那里可能会有你要找的答案或者已经有人发布过相同内容了,请勿重复发帖。

孤狼微博 发表于 2020-10-4 13:27
cmd  ren *.txt *.jpg  把当前目录下所有txt的改成jpg  
EnterpriseSolu 发表于 2020-10-5 14:13
代码写的有点简陋,功能是做好了,可能还需要加更多的参数和功能验证
1)  参数验证 str_a, str_b 要验证输入的参数,可能输入的不是常用的文件扩展名,或是输入的非法的文件扩展名称(要查一个windows的哪些文件名是非法名称,比如/ 或\ 不能是文件名的一部分)
    这两个参数有没有全角/半角的考虑,英文没有这个顾虑,同样的字符,中文环境会导致是不一样的字符
如果1.txt 重命名为1.doc,但是1.doc在硬盘中已经存在,这时候是override,还是ignore,可能要对已经存在的文件做排除或是其它的处理,避免文件丢失

2)  功能验证(重命名操作)  正在改名的时候,文件被其它程序占用了,怎么处理?  提示一下,多数软件不允许改,少数软件提示文件正在被占用,还有软件(windows media player或是暴风影音) 有代码检测文件改名,改名之后会马上用新的文件名播放,不影响播放体验
    有并发的可能,一个文件被两个窗口打开(explorer和FTP等第三方软件,和当前您写的程序),1.txt,在第一个windows explorer中修改为2.txt,但是在另一个软件FTP的目录浏览窗口中,会修改为3.txt, 这时候,您的程序改名可能会失败,取决于这三个程序的运行顺序
   

免费评分

参与人数 1吾爱币 +1 热心值 +1 收起 理由
hanaoran1234 + 1 + 1 用心讨论,共获提升!

查看全部评分

wzzjnb2006 发表于 2020-10-4 12:58
shen12wang 发表于 2020-10-4 12:59
支持椅子一下。哈哈
岁禾星涣 发表于 2020-10-4 13:02
这不是直接右键重命名就行了吗
alicc 发表于 2020-10-4 13:17
支持 无后缀名 么?逻辑是一定需要参数嘛
zhjjhz 发表于 2020-10-4 13:34
[Shell] 纯文本查看 复制代码
ren *.txt *.docx
这样不就好了,直接用doc不更容易?
无名氏wyw 发表于 2020-10-4 13:35
对于文件系统的操作,python远不及cmd来的方便,毕竟是微软儿子
既不赞成也不反对,但目的如果是想要秀秀操作什么的,建议再练练
zhjjhz 发表于 2020-10-4 13:35
岁禾星涣 发表于 2020-10-4 13:02
这不是直接右键重命名就行了吗

如果有几百个文件要重命名的时候你就不会一个一个来了
zt185 发表于 2020-10-4 13:49
这个比较实用,量大的改名的确很累人,这个方便!
您需要登录后才可以回帖 登录 | 注册[Register]

本版积分规则

返回列表

RSS订阅|小黑屋|处罚记录|联系我们|吾爱破解 - LCG - LSG ( 京ICP备16042023号 | 京公网安备 11010502030087号 )

GMT+8, 2024-11-25 23:13

Powered by Discuz!

Copyright © 2001-2020, Tencent Cloud.

快速回复 返回顶部 返回列表