好兄弟们,妹子要少看,技能要多学,每天一个小技巧,撩妹手段少不了~
昨天有人问我怎么批量修改文件名,然后我随便写了一种,他说我不nice,这我就忍不住了,反手就给他写了好几种,你们来看看,这个到底刑不刑。
很多兄弟在学习Python的时候因为不太明确学习方向,没有好的学习资料,遇到问题也没人解答,就很难受,甚至可能学着学着就放弃了,直接私我就行了,我都给大家准备好了。
随意一点,这是我刚刚新建的文件夹和我存放的路径。
我们来看看代码,我读详细注释了。
import os #导入模块
filename = 'C:\\Users\\Administrator\\Desktop\\123' #文件地址
list_path = os.listdir(filename) #读取文件夹里面的名字
for index in list_path: #list_path返回的是一个列表 通过for循环遍历提取元素
name = index.split('.')[0] #split字符串分割的方法 , 分割之后是返回的列表 索引取第一个元素[0]
kid = index.split('.')[-1] #[-1] 取最后一个
path = filename + '\\' + index
new_path = filename + '\\' + name + '彦祖你来了啊' + '.' + kid
os.rename(path, new_path) #重新命名
print('修改完成')
如果你照抄,原有的名字没动,这个代码只会在原有的名字后面添加你想取的名字+原有的名字。
如果你要在前面添加,在第八行把 + name
删了。
如果你要在后面添加,第八行把+ kid
删了。
这种的话,直接把原来的名字都给改掉,在后面添加序号,来我们先准备要改的文件。
先看代码
import os #导入模块
filename = 'C:\\Users\\Administrator\\Desktop\\123' #文件地址
list_path = os.listdir(filename) #读取文件夹里面的名字
count = 1
for index in list_path:
path = filename + '\\' + index # 原本文件名
new_path = filename + '\\' + f'彦祖,你又来看我文章了{
count}'
print(new_path)
os.rename(path, new_path)
count += 1
print('修改完成')
代码的话,大致跟前面差不多,没怎么注释了,就是加上序号和覆盖原本的名字。
看看效果
当然序号的话,也可以放在后面,把 彦祖,你又来看我文章了{count}
换成 {count}彦祖,你又来看我文章了
前后换一下就行了。
这个的话,咱们首先要有Excel数据,没有的话瞎编一个。
保存好,我这里把Excel文件命名为18.xls
你问我前面为什么有个卢本伟?我也不知道,刚刚女朋友问我我怎么站起来了
然后要改名的文件,这回我用的是文本文档,因为等下还有个小技巧。还是熟悉的路径
来吃够,上代码
import os
import xlrd
count = 1
path = "C:\\Users\\Administrator\\Desktop\\123" #文件所在文件夹
expath = "C:\\Users\\Administrator\\Desktop\\18.xls"#Excel表所在文件夹
x1 = xlrd.open_workbook(expath)#读取excel
sheet1 = x1.sheet_by_name("Sheet1")#读取sheet1
idlist = sheet1.col_values(0)#存放第一列
xylist = sheet1.col_values(1)#存放第二列
filelist = os.listdir(path)#读取文件目录
for files in filelist:#遍历文件目录
Olddir = os.path.join(path,files)#旧的文件位置
os.renames(Olddir,os.path.join(path,str(int(idlist[count]))+" "+xylist[count]))#新的文件位置
count = count +1#计数指针后移
可能有人要问了,说好的小技巧呢? 莫慌,来了来了~
你们有没有注意到我修改后的文件是不是不一样的,没得格式。
所以我们还得加上个格式,至于是什么格式,你原本的文件是什么格式就加上什么格式。
我们在新的文件位置那行最后,括号里面加上+".txt"
我这里是txt文件我就加txt了。
挺简单的,兄弟们这不nice吗?