A. python如何实现批量变更文件名
b = a.replace("文件夹","文件") # 这一句的效果是将-替换为空
# 这里可以再加个判断是否有“文件”两字,没有给他加上即可
if b.find("文件") == -1:
b = "文件" + b
B. python如何批量修改指定目录下的文件名称
# -*- coding: utf-8 -*-import os, sys,re,shutilfrom nt import chdir
#读取中文路径 u''path=u"D:\zhyue93\backup\个人文件\视频\10、C#\4、C# 语言进阶特性"dirs=os.listdir(path)
#排序 1,2,3...10,11dirs=sorted(dirs,key = lambda i:int(re.match(r'(d+)',i).group()))
#将文件改名i=10for dir in dirs:
i+=1
newDir=os.path.join(path,dir)
newFiles=os.listdir(newDir) for file in newFiles: #rename之前要先用chdir()函数进入到目标文件所在的路径,
#告诉python编译器要重命名的文件在哪儿,然后才可以修改
#改变当前工作目录到指定的路径 chdir(newDir)
os.rename(file,str(i)+"-"+file) print '-----'
#将文件移动到path路径下print u'移动文件'for dir in dirs:
newDir=os.path.join(path,dir)
newFiles=os.listdir(newDir) for file in newFiles:
oldFilePath=os.path.join(newDir,file)
newFilePath=os.path.join(path,file)
shutil.move(oldFilePath, newFilePath)#移动文件到目标路径
C. 用Python查找某文件夹的文件名称,并对文件名进行更改的库名称是什么
要在文件夹中搜索文件名并在 Python 中重命名文件,可以使用模块和模块。该模块提供基于通配符模式匹配文件路径的函数,而该模块提供用于处理文件和文件夹(如重命名文件)的函数。globosglobos
下面是如何使用 and 模块在文件夹中搜索文件名并重命名文件的示例:globos
此代码使用该函数搜索指定文件夹中的文件,使用通配符模式匹配所有文件。然后,它循环访问文件名,并使用该函数拆埋庆将文件名拆分为其基本名称和扩展名。然后,它会向基名称添加新后缀,并使用该函数重命名文件。glob.glob()*os.path.splitext()os.rename()
总体而言,和模块提供了一种强大而灵活的方式来搜索文件夹中的文件名并在 Python 中重命名文件。您可以使用这些模旅握块来实现各种文件管理任务,例如基于不同模式搜索文件、批量重命名文件以及在文件夹之间移动或复制文件。液镇
回答不易望请采纳
D. python怎样批量修改文件名
os.rename(a,b)是把a重命名为b(名字带路径)
os.listdir(path)以列表形式获取路径下文件(包括文件夹),os.listdir(“.”)是当前文件夹
然后。。。想怎么重命名就怎么写程序。。。遍历,(检查,)修改。。。
如果待重命名的文件和py程序在一个文件夹会很方便,重命名不需要路径,像os.rename(“1.txt”,“2.txt”)
如果重命名的规则没法表述,那只能自己一个个改了。。。
E. python批量重命名文件,求助大神!!拜托拜托了!
不清楚你的实际文件/情况,仅以问题中的样例/说明及猜测为据;以下代码复制粘贴到记事本,另存为xx.py
#encoding:utf-8
#Python3.9.6
importos
importsys
srcfile='./文件名.txt'
dstfolder='D:/ZLSJ'
ifnotos.path.exists(srcfile):
print('"%s"doesnotexist'%srcfile)
sys.exit()
ifnotos.path.exists(dstfolder):
print('"%s"doesnotexist'%dstfolder)
sys.exit()
f=open(srcfile,encoding='utf-8')
content=f.readlines()
f.close()
file_list=[]
forfileinos.listdir(dstfolder):
iffile.lower().endswith('.txt'):
file_list.append(file)
n=0
#如果原文件名全部以纯数字命名,则对原文件升序排列
file_list.sort(key=lambdae:int(e[0:-4]))
forfileinfile_list:
ifn<len(content):
newname=content[n].strip()
oldfile=os.path.join(dstfolder,file)
newfile=os.path.join(dstfolder,newname)
print('{0}-->{1}'.format(oldfile,newname))
os.rename(oldfile,newfile)
n=n+1
F. 使用python对文件名进行批量修改(二)2020-06-08---删除指定字符串
本文接上一篇 使用python对文件名进行批量修改2020-04-24 待续内容,主要介绍如何删除文件名前缀及后缀,方法为基于lstrip()和partition()函数的实现。
(1)删除文件名前缀; 如 “ www.cn-ki.net_ ”。
(2)删除指定字符之后的内容;如 ”_张三“ 、 “_李四” 、 ”_Mike“ 等。
(1)删除前缀函数 str.lstrip()
将字符串s中的’aabb_‘删除,运行结果如图:
(2)删除指定字符之后内容,使用函数 str.partition()
将字符串s中的’_aabb‘删除,运行结果如图:
Python 3.6.4
G. 说说在 Python 中如何复制、移动、改名以及删除文件或文件夹
要实现复制、移动、改名以及删除文件或文件夹,需要用到 shutil 模块,shutil 是 shell util 的简写形式,表示 shell 工具。
调用 shutil.(source, destination) 来实现复制文件或文件夹功能,依据 destination 进行区分:
运行结果:
注意: 指定复制的文件夹必须存在,否则会抛出 FileNotFoundError。
shutil 的 tree(source, destination) 方法会复制整个文件夹,包括它所包含的所有文件夹和文件。source
指定源文件夹,destination 指定新的文件夹。source 和 destination 入参都是字符串。该函数会返回新文件夹的路径。destination 如果不存在,会自动创建。请看下例:
运行结果:
shutil.move(source, destination) 方法会将路径 source 处的文件移动到路径 destination,并返回新位置的绝对路径的字符串。
如果 destination 指向一个文件夹, source 处的文件将移动到 destination 中, 并保持原来的文件名。
运行结果:
注意:
os 模块中的函数,可以实现删除一个文件或一个空文件夹。而 shutil 更强大,使用它可以删除一个非空文件夹!
注意: 因为是永久删除,所以使用这些函数一定要小心!建议调试程序时, 先注释掉这些删除方法,
然后加上 print(), 把要被删除的文件打印出来,确认后,再执行。
打印出来的文件列表确认无误后,再执行 os.unlink(filename) 执行删除操作。
send2trash 模块会将文件夹或文件发送到计算机的回收站。首先,安装它:
安装成功后,调用 send2trash.send2trash 方法,就可以把文件夹或文件发送到计算机的回收站。请看下例:
建议使用 send2trash.send2trash() 函数来删除文件或文件夹,因为以后还可以从回收站还原。但这样做,不
会释放磁盘空间。如果我们还是希望程序释放磁盘空间, 就要用 os 和 shutil 来删除文件和
文件夹(记得使用之前提出的 print 技巧)。还有一点需要注意, send2trash() 函数只能将文件送到回收站, 但不能从回收站中恢复文件。
H. 如何用python批量改文件名
1、在movies文件夹下面的所有文件前面都加上[可可可可]
#coding:utf-8import osmovie_name = os.listdir('改敏陆./movies')for temp in movie_name: new_name = '[可可可可]' + temp os.rename('./movies/'+temp,'movies/'+new_name)
2,把文件名前核顷面乱七八糟的东拿嫌西都去掉
#coding:utf-8import os
movie_name = os.listdir('./movies')for temp in movie_name:
num = temp.rfind(']')#找到最右边]的下标
# new_name = '[可可可可]' + temp
new_name = temp[num+1:]
os.rename('./movies/'+temp,'movies/'+new_name)
主要还是涉及对字符串的操作
3、问题:
为什么打印
print(movie_name)是一堆乱码
f\xaf\xe5\x8f\xaf]\xe7\x94\xb5\xe5\xbd\xb11\xe5\x89\xaf\xe6\x9c\xac 2.txt'<br>
解决:
显示乱码是因为是中文在python 2 中显示有问题,如果要在python 2 中显示出来的话,可以用
for temp in movie_name:
print(movie_name)
另外,在python 3 里可以正常打印
I. 用python使文件名按照一定规则批量重命名
所用模块:import os
(一)打开文件夹,获得旧文件名
path=r"D:\exp\resultdata" //文件夹途径
for (root, dirs, files) in os.walk(path):
os.walk(path)//遍历D:\exp\resultdata下文件
(二)获得新文件名(如何打开一个文件)
一般新文件名都保存在一个文件中
new_names_files=open('文件名.txt','r')
content=open('文件名.txt','r')(此时content是一个含有所有new name 的列表)
注意:对新名字(字符串)会有一些操作
(1)对文件名(字符)的分割
用split()进行分割
a=''wer.werrew/"
(2)list 添加新的元素、
用append()进行添加
(3)字典添加新的元素
用update()进行添加
实例:
(三)重命名
利用os.rename()函数
实例:旧名字与新名字的数字相对
file=['1.max','2.max'……]//旧名字
for file in files:
oldname = os.path.join(root,file)
namesp=file.split('.')
new_namesp=d[int(namesp[0])]//数字相对
newname = os.path.join(root,new_namesp)
os.rename(oldname,newname)
J. python—os模块批量修改文件名&复制文件
1、修改文粗哗件名
导入os模块
这里举的例子是:对目录下的所有文件重命名,雹镇格式为一个字符串+6位递增数
注意:其中zfill(6)的作用是将1变为6位数,缺少位置0代替,结果就是00001
2、复制文件
注意:还有其它复制方法,可以自行网络~!岩肆行
3.格式化输出
PS:觉得这篇文章有用的朋友,多多点赞打赏哦~!