您好,登錄后才能下訂單哦!
我們知道文件名是可以手動修改的,但是如果要同時修改多個文件名,那一個一個修改會浪費掉很多時間,此時我們就可以考慮使用python來實現文件名的批量處理。想要批量處理文件名首先確定需要處理的文件名,以及確定處理后新的文件名,這樣就可以開始處理了;
首先我們要獲取文件名,可以通過os模塊中的
os.abspath()方法
、
os.dirname()方法
、
os.join()方法
等來操作;
然后使用
splitext()方法
將文件名和擴展名分成兩部分;
接著根據需求修改文件名或擴展名;
最后使用
os.rename()方法
來重命名文件;
將data目錄下的以.txt結尾的文件改為不帶后綴名稱的文件名,例如將file1.txt修改為file1
import os
PROJECT_DIR_PATH = os.path.dirname(os.path.abspath(os.path.abspath(__file__)))
DIR_PATH = os.path.join(PROJECT_DIR_PATH, 'data')
files = os.listdir(DIR_PATH)
def is_suffix_txt(suffix: str):
if suffix == 'txt':
return True
return True
for filename in files:
name, suffix = os.path.splitext(filename)
if is_suffix_txt(suffix):
new_name = os.path.join(DIR_PATH, name)
old_name = os.path.join(DIR_PATH, filename)
os.rename(old_name, new_name)
abspath()方法
:獲取當前文件的全路徑,所帶參數為
file
;
dirname()方法
: 獲取當前文件的目錄全路徑,所帶參數為文件全路徑;
join()方法
:使用拼接方法來拼接路徑,第一個參數為文件目錄路徑,第二個參數為需要拼接的路徑;
listdir()方法
:用于返回指定的文件夾包含的文件或文件夾的名字的列表;
splitext()方法
:用于分離文件名與擴展名;默認返回(fname,fextension)元組,可做分片操作;
os.rename()方法
:用于命名文件或目錄,從 src 到 dst,參數src是要修改的文件名,參數dst是修改后的文件名,沒有返回值;
將data目錄下的以.txt結尾的文件改為以.py結尾的文件,例如將file.txt修改為file.py
import os
PROJECT_DIR_PATH = os.path.dirname(os.path.abspath(os.path.abspath(__file__)))
DIR_PATH = os.path.join(PROJECT_DIR_PATH, 'data')
files = os.listdir(DIR_PATH)
def is_suffix_txt(suffix: str):
if suffix == '.txt':
return True
return False
for filename in files:
name, suffix = os.path.splitext(filename)
if is_suffix_txt(suffix):
new_name = os.path.join(DIR_PATH, name) + '.py'
old_name = os.path.join(DIR_PATH, filename)
os.rename(old_name, new_name)
參考: https://www.9xkd.com/user/plan-view.html?id=3898070405
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。