⑴ python如何动态改变文件名
在运行的文件中使用__file__ 就可以了,比如: import osfilename = os.path.basename(__file__)print filename
⑵ python怎样批量修改文件名
import shutilimport osos.rename("oldname","newname") shutil.move("oldpos","newpos")以前两个命令都能改名,先把文件路径放到一个列表里,然后批量调用上面的命令
⑶ 如何在python中用正则表达式批量修改文件名
importreimportosdefget_file_list(folder):file_list=[];forroot,dirs,filesinos.walk(folder):forfinfiles:path=root+os.path.sep+ffile_list.append(path)returnfile_listdefget_re_file_list(file_list,re_rule):file_list_re=[]forfileinfile_list:ifre.search(re_rule,file):file_list_re.append(file)returnfile_list_redefrename2new_file_list(file_list_re,re_rule,new_str):re_c=re.compile(re_rule)new_file_list=[]foriinrange(0,len(file_list)):new_base_name=re_c.sub(new_str,file_list[i][file_list[i].rindex(os.sep):])new_full_path=file_list_re[i][:file_list_re[i].rindex(os.sep))+os.sep+base_namenew_file_list.append(new_full_path)returnnew_file_listdefrename2list(old_list,new_list):foriinrange(0,len(old_list)):os.rename(old_list[i],new_list[i])defmain():root=""re_rule=""new_str=""old_file_list=get_file_list(root)re_file_list=(old_file_list,re_rule)new_file_list=rename2new_file_list(re_file_list,re_rule,new_str)rename2list(re_file_list,new_file_list)if__name__=='__main__'main()
⑷ 怎么用python批量修改一组文件名
有个工具叫 bulkrenameutility,使用其正则替换能达到你的要求。
Python的话,也可以用正则完成,或者获取文件名后用切片也能完成文件名前后的交换。
⑸ 求教用python批量更改文件名的名字顺序。
importosdirname=os.path.join('E:','mp3')fs=[iforiinos.listdir(dirname)ifi.endswith('.mp3')]abspath=lambdax:os.path.join(dirname,x)forfninfs:n,ext=os.path.splitext(fn)newname='-'.join([i.strip()foriinn.split('-')][::-1])os.rename(abspath(fn),abspath(newname+ext))
⑹ python 批量改文件名 以字典文本
import os
name = {}
with open("dict.txt","r") as A:
for eachline in A:
eachline = eachline.rstrip()
save = eachline.split(',')
name[save[0]] = save[1]
dir = './'
files = os.listdir(dir)
for file in files:
filename = os.path.splitext(file)[0]
sufix = os.path.splitext(file)[1]
if(sufix == '.mp3' and filename in name):
src1 = os.path.join(dir,file)
print name[filename]+sufix
src2 = os.path.join(dir,name[filename]+sufix)
os.rename(src1,src2)
这样吗?
⑺ python修改文件名问题
filenames=os.listdir('D:\\workspace\\python\\src\\test')上面的代码执行之后,filenames中存储的只是文件名字的列表,不包括路径!所以for循环里面应该是path = 'D:\\workspace\\python\\src\\test'os.rename(os.path.join(path, filenames[a]),str(a)+'.bmp')
⑻ 怎么用python批量修改文件名
基本程序1引入os模块(python中操作文件的模块)。2定义修改名称的函数rename。在rename函数中定义一个储存路径的变量path,并将要修改文件名的文件夹的路径赋值给该变量。3继续向函数中添加功能代码4最后调用这个rename函数这个脚本就写完了。执行这个文件,就会将文件夹下所有的文件改成 这里是你要改的文件名.后缀名 这样的格式,显然我们一般情况下不是需要这样的效果的。下面我列出了一些常用的改文件名的方法。5列出代码,便于复制import os;def rename():path="这里替换为你的文件夹的路径";filelist=os.listdir(path)#该文件夹下所有的文件(包括文件夹)for files in filelist:#遍历所有文件Olddir=os.path.join(path,files);#原来的文件路径if os.path.isdir(Olddir):#如果是文件夹则跳过continue;filename=os.path.splitext(files)[0];#文件名filetype=os.path.splitext(files)[1];#文件扩展名Newdir=os.path.join(path,"这里是你要改的文件名"+filetype);#新的文件路径os.rename(Olddir,Newdir);#重命名rename();END添加改名规律1(1).序号依次递增型import os;def rename():count=0;path='C:\\Users\\admin\\Desktop\\test';filelist=os.listdir(path)#该文件夹下所有的文件(包括文件夹)for files in filelist:#遍历所有文件Olddir=os.path.join(path,files);#原来的文件路径if os.path.isdir(Olddir):#如果是文件夹则跳过continue;filename=os.path.splitext(files)[0];#文件名filetype=os.path.splitext(files)[1];#文件扩展名Newdir=os.path.join(path,str(count)+filetype);#新的文件路径os.rename(Olddir,Newdir);#重命名count+=1;rename();2(2).批量取分隔符前面/后面的名称import os;def rename():path='C:\\Users\\admin\\Desktop\\test';filelist=os.listdir(path)#该文件夹下所有的文件(包括文件夹)for files in filelist:#遍历所有文件Olddir=os.path.join(path,files);#原来的文件路径if os.path.isdir(Olddir):#如果是文件夹则跳过continue;filename=os.path.splitext(files)[0];#文件名filetype=os.path.splitext(files)[1];#文件扩展名if filename.find('—')>=0:#如果文件名中含有—Newdir=os.path.join(direc,filename.split('—')[0]+filetype);#取—前面的字符,若需要取后面的字符则使用filename.split('—')[1]if not os.path.isfile(Newdir):os.rename(Olddir,Newdir);rename();
⑼ python 如何打开文件修改文件名并保存
import os
#获取该目录下所有文件,存入列表中path=input('请输入文件路径(结尾加上/):')fileList=os.listdir(path)n=0for i in fileist:
#设置旧文件名(就是路径+文件名)
oldname=path+ os.sep + fileList[n] # os.sep添加系统分隔符
#设置新文件名
newname=path + os.sep +'a'+str(n+1)+'.JPG'
os.rename(oldname,newname) #用os模块中的rename方法对文件改名
print(oldname,'======>',newname)
n+=1
⑽ python 修改文件名字
import os,syspath = 'D:\\ttest'filenames=os.listdir( path )for a in xrange(len(filenames)): os.renames(path + os.sep + filenames[a],path + os.sep + str(a)+'.bmp')
未经允许不得转载:山九号 » python改文件名| 求教用python批量更改文件名的名字顺序