电脑文件太多了乱七八糟?Python轻松解决,文件再多也只要一秒

x33g5p2x  于2021-11-29 转载在 Python  
字(2.0k)|赞(0)|评价(0)|浏览(206)

一、我为什么要写这篇

好兄弟们,妹子要少看,技能要多学,每天一个小技巧,撩妹手段少不了~

昨天有人问我怎么批量修改文件名,然后我随便写了一种,他说我不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数据,没有的话瞎编一个。


保存好,我这里把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#计数指针后移

OK 我们来试试看

可能有人要问了,说好的小技巧呢? 莫慌,来了来了~

你们有没有注意到我修改后的文件是不是不一样的,没得格式。

所以我们还得加上个格式,至于是什么格式,你原本的文件是什么格式就加上什么格式。

我们在新的文件位置那行最后,括号里面加上+".txt" 我这里是txt文件我就加txt了。


挺简单的,兄弟们这不nice吗?

相关文章