使用 Python 進(jìn)行自動(dòng)辦公操作的時(shí)候卡啰,經(jīng)常需要手動(dòng)輸入文件路徑和文件名稱(chēng)她君,操作繁瑣不說(shuō)脚作,關(guān)鍵是沒(méi)有真正的實(shí)現(xiàn)自動(dòng)化啊缔刹!
我的方法是把.py
文件放在待處理文件夾下球涛,然后編寫(xiě)一段代碼,讓 Python 自動(dòng)處理文件校镐。
下面給大家分享一下用 Python 自動(dòng)獲取任意路徑下文件名稱(chēng)的 2 種方法亿扁。
方法一:os 方法
這個(gè)方法是我經(jīng)常使用的,比較靈活鸟廓,只需要用到os
庫(kù)从祝。
import os
path = os.getcwd() # 獲取程序所在文件夾路徑
print('程序所在文件夾路徑是:'+path)
files = os.listdir(path) # 獲取指定路徑下的所有文件的文件名稱(chēng)
for file in files:
if file.split('.')[-1] in ['txt']:
print('這是一個(gè)文本文件:' + file)
elif file.split('.')[-1] in ['doc','docx']:
print('這是一個(gè)Word文件:' + file)
elif file.split('.')[-1] in ['xls','xlsx']:
print('這是一個(gè)Excel文件:' + file)
1、獲取路徑
我們將.py
文件放到待處理文件夾下引谜,通過(guò)os.getcwd()
獲取文件夾路徑牍陌,并賦值給變量path
。
2煌张、獲取文件名稱(chēng)列表
通過(guò)os.listdir(path)
命令,獲取path
文件夾下的所有文件名稱(chēng)退客,并賦值給變量files
骏融,files
是一個(gè)存有文件名稱(chēng)的列表。
3萌狂、判斷文件類(lèi)型
通過(guò) for 循環(huán)档玻,依次取出列表中的每個(gè)文件名稱(chēng)。文件名稱(chēng)都是長(zhǎng)這個(gè)樣子的:新建文件.txt
茫藏、新建文件.docx
误趴、新建文件.xls
、新建文件.xlsx
等务傲。
因此凉当,我們可以通過(guò)文件后綴判斷文件類(lèi)型。
這里要用到字符串操作的split()
函數(shù)售葡,以.
號(hào)將文件名稱(chēng)分隔成列表:file.split('.')
看杭,并用[-1]
取出這個(gè)列表的最后一個(gè)字符,用作 if 語(yǔ)句的判斷條件挟伙。
我們可以將需要匹配的文件類(lèi)型放到列表里楼雹,如:if file.split('.')[-1] in ['txt','doc','docx','xls','xlsx','ppt','pptx']:
,這也是這種方法的優(yōu)勢(shì),可以一次匹配一種或多種文件類(lèi)型贮缅。
方法二:os + glob 方法
這種方法語(yǔ)法更簡(jiǎn)練榨咐,適用于單一文件類(lèi)型的匹配。需要用到os
庫(kù)和glob
庫(kù)谴供。
import glob
import os
files = glob.glob(os.path.join(path,'*.txt') # 匹配以'*.txt'為后綴的所有文件的全路徑
for file in files:
print(file)
核心語(yǔ)句就是:files = glob.glob(os.path.join(path,'*.txt')
- path:是程序所在文件夾路徑块茁,可以自動(dòng)獲取,也可以自己指定憔鬼。
- '*.txt':匹配 .txt 后綴的文件龟劲,也可以指定自己需要的后綴名稱(chēng)。
這個(gè)方法獲取的files
列表和上一方法獲取的files
列表略有不同轴或。方法一的files
列表是單個(gè)文件名稱(chēng)昌跌,方法二的files
列表是包含文件名稱(chēng)的絕對(duì)路徑。
例如:D:\data\
文件夾下有1.docx
照雁、2.docx
兩個(gè) Word 文件蚕愤。
方法一獲取的files
列表為:['1.docx','2.docx']
;
方法二獲取的files
列表為:['D:\\data\\1.docx','D:\\data\\2.docx']
。
以上就是給大家分享的饺蚊,用 Python 自動(dòng)獲取任意路徑下文件名稱(chēng)的 2 種方法萍诱,這是 Python 辦公自動(dòng)化必備小技能!
文中的print('這是一個(gè)文本文件:' + file)
等語(yǔ)句可以修改為對(duì)該類(lèi)型文件的具體操作污呼。
有興趣的朋友可以看下我的辦公自動(dòng)化相關(guān)文章:
1裕坊、讓程序幫你干活!批量轉(zhuǎn)換任意文件夾下Word文檔為PDF燕酷。
2籍凝、用 Python 處理3萬(wàn)多條數(shù)據(jù),只要幾秒鐘……
3苗缩、收藏饵蒂!Python內(nèi)置的輕量級(jí)數(shù)據(jù)庫(kù)竟如此好用!全網(wǎng)最實(shí)用sqlite3實(shí)戰(zhàn)項(xiàng)目酱讶。
本文完退盯,謝謝閱讀!
本文首發(fā)【智能演示】微信公眾號(hào)泻肯,歡迎關(guān)注渊迁!公眾號(hào)后臺(tái)回復(fù)【課程】領(lǐng)取精選視頻課程。