跑模型和測試一些批量操作時,常常需要一個或多個文件中的文件的命名格式具有一定的規律。有時候獲取的數據又是從一些網站爬取下來的,數據名具有一定的不規律性,這是就需要我們去重命名這些文件。10,20個還好說,如果是上百個,上千個,甚至上萬個呢?我們還能去手動命名嗎?顯然不可能的!這時就需要批量更改文件名的操作。
一、python實現批量更改目錄名
這里以重命名圖片為例
# -*- coding: UTF-8 -*-
"""
@Author :遠方的星
@Time : 2021/4/16 9:16
@CSDN :https://blog.csdn.net/qq_44921056
@騰訊云 : https://cloud.tencent.com/developer/column/91164
"""
import os
path = input('請輸入你想更改的文件的路徑(如D:/圖片/風景):')
file_list = os.listdir(path)
file_list.sort() # 對列表內容進行排序,默認為升序
i = 0 # 用于記錄重命名,方便重命名
for item in file_list:
if item.endswith('.jpg'): # 這里以.jpg進行判斷文件名
src = os.path.join(path, item)
dst = os.path.join(os.path.abspath(path), str(i) + '.jpg')
try:
os.rename(src, dst)
print('已將{}更改為{}'.format(src, dst))
i += 1
except Exception as e:
print(e)
print('{}更改失敗'.format(src))
print('所有目標文件已完成全部更改')


二、一些函數解釋
os.listdir
:
os.listdir(path),path為需要列出的目錄路徑,函數返回值為指定路徑下的文件和文件夾列表
import os
print(os.listdir('D:/圖片'))
輸出:
['Screenshots', '動漫圖片', '原神', '圖片格式.txt', '頭像', '橫屏壁紙', '海賊王', '證件照', '賽爾號', '風景', '鬼滅 之刃']

endswith
:
用于判斷字符串是否以指定的內容結尾
具體可以參考python中endswith()函數的用法
os.path.join
:
用于路徑的拼接
os.path.abspath
:
返回絕對路徑
os.rename
:
用于重命名
基本格式為:os.rename(src , dst)
src 參數用于指定要進行重命名的目錄或文件;
dst 參數用于指定重命名后的目錄或文件。
三、Blogger's speech
如有不足,還請大佬評論區留言或私信我,我會進行補充。
作者:遠方的星
CSDN:https://blog.csdn.net/qq_44921056
騰訊云:https://cloud.tencent.com/developer/column/91164
本文僅用于交流學習,未經作者允許,禁止轉載,更勿做其他用途,違者必究。
到此這篇關于python批量更改目錄名/文件名的方法的文章就介紹到這了,更多相關python批量更改目錄名/文件名內容請搜索腳本之家以前的文章或繼續瀏覽下面的相關文章希望大家以后多多支持腳本之家!
您可能感興趣的文章:- 用python 批量更改圖像尺寸到統一大小的方法
- Python批量更改文件名的實現方法
- python 獲取當前目錄下的文件目錄和文件名實例代碼詳解
- Python實現獲取當前目錄下文件名代碼詳解
- 使用Python解決Windows文件名非用反斜杠問題(python 小技巧)
- Python遍歷目錄并批量更換文件名和目錄名的方法