鱼C论坛

 找回密码
 立即注册
查看: 1241|回复: 9

[已解决]文件改名:11a.doc 改为 11a第三章.doc

[复制链接]
发表于 2022-2-3 17:26:17 | 显示全部楼层 |阅读模式

马上注册,结交更多好友,享用更多功能^_^

您需要 登录 才可以下载或查看,没有账号?立即注册

x
比如:
文件夹mp4中有3个文件,其文件名分别为11a.doc   12b.doc   13c.doc 使用python3.6后这3个文件名改为:

11a第三章.doc 12b第四章.doc    13c第五章.doc
最佳答案
2022-2-3 19:36:31
int('11a'[:-1]) - 8
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复

使用道具 举报

 楼主| 发表于 2022-2-3 18:03:52 | 显示全部楼层
如何增加一个 变量,并且是 按照 11a为第三章,后面12,13,14,15 依次是 第4章,第五章.....

import os
fs = [i for i in os.listdir() if not i.endswith('.py')]
dirname = os.path.basename(os.getcwd())

tail='第'
tail2='章'
tail3='.mp3'

[os.rename(i, f'{i[:-4]}{tail}{此处变量如何表达呢}{tail3}') for i in fs]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

发表于 2022-2-3 19:36:31 | 显示全部楼层    本楼为最佳答案   
int('11a'[:-1]) - 8
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-3 20:28:24 | 显示全部楼层
import os
fs = [i for i in os.listdir() if not i.endswith('.py')]
#dirname = os.path.basename(os.getcwd())

tail1='老子第'


tail2='章'
tail3='.mp3'


[os.rename(i,  f'{i[:-4]}{tail1}{int(i[:-4])-1000}{tail2}{tail3}') for i in fs]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-4 21:01:17 | 显示全部楼层
弟弟-郑智化.mp3的格式,改成:郑智化-弟弟.mp3,名字顺序颠倒:
import os
dirname = os.path.join('E:', 'mp3')
fs = [i for i in os.listdir(dirname) if i.endswith('.mp3')]
abspath = lambda x: os.path.join(dirname, x)
for fn in fs:
    n, ext = os.path.splitext(fn)
    newname = '-'.join([i.strip() for i in n.split('-')][::-1])
    os.rename(abspath(fn), abspath(newname+ext))

想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-4 21:07:58 | 显示全部楼层
import os
fs1 = [i for i in os.listdir()if not i.endswith('.py')]

print(fs1)

fs2=[]
for fn in fs1:
    n, ext = os.path.splitext(fn)
    print(n)
    fs2.append(n)

print(fs2)
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-4 22:18:36 | 显示全部楼层
newname = '-'.join([i.strip() for i in n.split('-')][::-1])


列表里面的 2个 字符串 进行颠倒: 比如 ["妈妈","水手"] 到 ["水手","妈妈"]
[i.strip() for i in n.split('-')][::-1]  
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-5 08:58:30 | 显示全部楼层
https://blog.csdn.net/weixin_443 ... tm_relevant_index=2

CSDN Dunkle.T

[-1]: 列表最后一项
[:-1]: 从第一项到最后一项,  原型是[n : m]
[::-1]: 代表从全列表倒序取,   原型是[n : m : k],代表的是从那一段开始取,隔几个取一次. k代表的是间隔,间隔可正可负,正值代表正向顺序跳取,负值代表反向跳取。
[n::-1]: 同上所述,从索引n开始倒序取值:

[:,:,0]: 因为有了逗号,所以这个方法就和前面的有所不同了。它是对多维数据的一种处理方式,代表了前两维全选,取其中的所有0号索引。

原型是[n:m, j:k, g:h],当然维度可以更多,在图片处理中,一般用到的就是三维的。看a数组的模样就可以看出来,nm管最外层列表的取值,从第n个元素到第m个元素,前闭后开;jk管nm取中的元素的列表中的元素的选取,也是前闭后开,gh管jk取中元素的列表中的元素的选取,任意一对都可以是个整数用来直接取某个索引,这和前两个很像。
其实就是嵌套列表的取值方法。


想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-5 21:41:50 | 显示全部楼层

[os.rename(i,  f'{int(i[0:4])-136}{tail3}') for i in fs]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

 楼主| 发表于 2022-2-5 22:00:04 | 显示全部楼层
[os.rename(i,  f'{int(i[0:4])+136}{i[4:]}') for i in fs5]
想知道小甲鱼最近在做啥?请访问 -> ilovefishc.com
回复 支持 反对

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

小黑屋|手机版|Archiver|鱼C工作室 ( 粤ICP备18085999号-1 | 粤公网安备 44051102000585号)

GMT+8, 2025-1-12 13:14

Powered by Discuz! X3.4

© 2001-2023 Discuz! Team.

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