本文目錄一覽:
- 1、python批量重命名文件,求助大神!!拜託拜託了!
- 2、怎麼對python的dataframe重命名
- 3、用python使文件名按照一定規則批量重命名
- 4、list對象如何實現重命名(Python)?
- 5、python怎樣批量修改文件名
- 6、怎麼用python批量修改文件名
python批量重命名文件,求助大神!!拜託拜託了!
不清楚你的實際文件/情況,僅以問題中的樣例/說明及猜測為據;以下代碼複製粘貼到記事本,另存為xx.py
# encoding: utf-8
# Python 3.9.6
import os
import sys
srcfile=’./文件名.txt’
dstfolder=’D:/ZLSJ’
if not os.path.exists(srcfile):
print(‘”%s” does not exist’ % srcfile)
sys.exit()
if not os.path.exists(dstfolder):
print(‘”%s” does not exist’ % dstfolder)
sys.exit()
f=open(srcfile, encoding=’utf-8′)
content=f.readlines()
f.close()
file_list=[]
for file in os.listdir(dstfolder):
if file.lower().endswith(‘.txt’):
file_list.append(file)
n=0
#如果原文件名全部以純數字命名,則對原文件升序排列
file_list.sort(key=lambda e:int(e[0:-4]))
for file in file_list:
if n 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
怎麼對python的dataframe重命名
使用rename函數
1、字典型數據類型
例:
d = {“星座”:”Constellation”, ‘身高’:’Height’}
df.rename(columns=d)
2、函數的方法
def f(x):
return x[0]
df.rename(columns=f)
用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)
list對象如何實現重命名(Python)?
# coding = utf-8
import os
path = “D:\\chunyu”#想要重命名所有文件存放的文件夾
filelist = os.listdir(path) #該文件夾下所有的文件(包括文件夾)
list = []
fileopen = open(‘D:\chunyu.txt’,’r’)#之後想要重命名成的所有名字的集合,這個名字為除去文件擴展名的文件名
i =0
for file in filelist:
print(file)
for line in fileopen:
line = line.strip(‘\n’)
list.append(line)#讀取txt裡面的所有名字的集合寫入list文件
print(list)
fileopen.close()
for file in filelist: #遍歷所有文件
Olddir=os.path.join(path,file) #原來的文件路徑
if os.path.isdir(Olddir): #如果是文件夾則跳過
continue
filename=os.path.splitext(file)[0] #文件名
filetype=os.path.splitext(file)[1] #文件擴展名
Newdir=os.path.join(path,str(list[i])+filetype)
os.rename(Olddir,Newdir)#重命名
print(Olddir+” has changed as “+Newdir)
i = i+1
python怎樣批量修改文件名
os.rename(a,b)是把a重命名為b(名字帶路徑)
os.listdir(path)以列表形式獲取路徑下文件(包括文件夾),os.listdir(“.”)是當前文件夾
然後。。。想怎麼重命名就怎麼寫程序。。。遍歷,(檢查,)修改。。。
如果待重命名的文件和py程序在一個文件夾會很方便,重命名不需要路徑,像os.rename(“1.txt”,“2.txt”)
如果重命名的規則沒法表述,那隻能自己一個個改了。。。
怎麼用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();
原創文章,作者:KXRM,如若轉載,請註明出處:https://www.506064.com/zh-hant/n/145616.html