批量處理檔名稱(上)

Hkpery發表於2020-11-13

批量處理檔名稱(上)

簡介:python小白今天,對於五行程式碼實現一個Python辦公自動化小案例分析,讓我們迅速get實用技能。

案例描述(本段快速瀏覽也可)

你在辦公中可能也遇到過需要提取某資料夾下文件名稱的情況。當文件數量較少時,可以通過手動來整理,但如果經常需要處理這類工作,或者文件數量很大時,就十分耗費時間了。
現在有一個任務需要在資料夾下眾多的文件中整理出PDF格式的文獻資料,並提取名稱表儲存到表格檔案,用作資料整理。

在這裡插入圖片描述
**廢話不多說,**今天開始,就正式進入Python實操內容的學習,手把手帶你掌握一個又一個實用的小專案,在日常也能自己動手應用。

思路分析:

1. 匯入模組:

匯入過程中所需要用到的模組

2. 獲得檔案路徑:

需要獲取相應檔名所對應的資料夾路徑

3.獲取文件名稱

使用模組中的方法獲得檔案的名稱

4. 迴圈列印

注:完成這四步獲取檔名稱,只需要如下5行程式碼:

import os
path='對於資料夾路徑'  #如我的路徑是path='D:/課程/python/資料夾' 
name=os.listdir(path)
for i in name:
    print(i)

如果你是門新,你就會上述程式碼的作用及其意義產生疑問,別急,現在馬上進入程式碼解讀環節~

- 匯入模組:

python之所以如此流行,一個重要的原因是他有成千上萬的模組來支撐,省去很多麻煩的程式碼輸入操作。

各種神奇的模組中存放了各式各樣方法,將這些模組匯入程式中,就能直接運用其中的方法解決問題,省去了自己辛苦鑽研找對策的時間,避免重複造輪子。
匯入的方法就是使用import+模組名,看下面的程式碼:

import os	#匯入模組,import可以理解為匯入的意思,os為模組名

通過上面的程式碼成功匯入了os模組。os模組中有各種處理檔案和目錄的方法。

如果你已經完成了程式碼的輸入與程式碼的含義的理解,就可以進入下一步啦~

- 獲得檔案路徑:

想要得到資料夾下的文件名,當然要鎖定資料夾的位置資訊,儲存在計算機裡的資訊那麼多,如何精確定位呢?
就好像朋友們要去你家為你慶祝生日,首先需要知道你的街道小區門牌號一樣。使用計算機時要找到檔案就必須知道檔案的位置,而表示檔案位置的方式就是路徑。
在下圖中的位置可以複製得到路徑資訊:

在這裡插入圖片描述
資料夾的路徑可能是這麼長的一串內容:D:/課程/python/資料夾

那當寫程式的時候要用到路徑,每次都要敲這麼長的一串內容嗎?
下面為你介紹今天第一個語法知識點:變數

變數

我們怎麼能允許這看起來這麼無腦繁雜的情況出現,現在就為你介紹變數這個重量級嘉賓!
為了方便同一個內容在程式裡多次出現時能更方便地獲取,需要將它賦值給一個變數。
變數就類似起了個小名,例如你的大名叫做張二虎,媽媽給你起了個小名叫貝貝,‘貝貝起床收拾屋子!’和‘張二虎起床收拾屋子!’說的都是你,小名還更簡單好記。
變數賦值需要用到等於號=,等號左邊為變數名,右邊為需要儲存的內容。
現在我們就可以把資料夾路徑賦值給一個變數,起名為path:

#指定資料夾的路徑
path='D:/課程/python/資料夾'

現在就得到了資料夾的路徑,並把它存放在變數path中。

-獲取文件名稱

如何得到路徑下所有的文件名稱呢?這看起來是一個複雜又讓人頭大的問題。
別忘了我們前面匯入的模組,裡面有各種神奇的方法,不如現在就從多啦A夢的神奇口袋中拿出個道具幫助我們。
前面匯入的os模組中就有方法來實現檔案和目錄的處理。
那麼有了方法我們應該如何應用?馬上跟我來學習今天第二個語法知識點。

方法:

下面要用到獲取文件名稱功能的方法長這樣子:listdir()
listdir就是這個方法的名字,代表它的功能是得到某路徑下的所有文件名稱。

可以看到方法名稱後面跟著一個括號,具體獲取的是哪個路徑下的內容,就需要在括號中把路徑傳遞給這個方法。

括號中的內容就是引數。

需要某個功能的時候只需把必要的引數放進括號中,我們不用去深究計算機是怎麼通過一系列複雜操作完成的,只要關心最終結果就ok啦。

來看下面這行程式碼:

#讀取資料夾下的文件名稱
name=os.listdir(path)	
#os.listdir()這樣表示的原因因為listdir為os模組中匯入的一個方法故而用一個“.”連線

資料夾的路徑在上一步中已經賦值給了path這個變數,所以這裡我們傳入的引數可以直接寫變數名path。

其實在這裡寫作name=os.listdir(path)
和name=os.listdir(‘D:/課程/python/資料夾’)
表達的是相同的意思。

相信你現在可以看懂,我們將得到的所有文件名稱又存放進了name這個變數中。

-迴圈列印

上一步中,完成了收集所有文件名稱的工作,現在它們都被儲存在name中。然而……雖然知道它存放進去了,但這結果看不見摸不著的,怎麼證明真的實現了效果呢?

我們可以將name中的文件名稱列印呈現出來檢驗檢視一下~這裡就需要用到Python中的迴圈語句。

迴圈

上一步中,完成了收集所有文件名稱的工作,現在它們都被儲存在name中。然而……雖然知道它存放進去了,但這結果看不見摸不著的,怎麼證明真的實現了效果呢?

我們可以將name中的文件名稱列印呈現出來檢驗檢視一下~這裡就需要用到Python中的迴圈語句。
在這裡插入圖片描述
寫一個for迴圈來解決,格式為:

for 元素 in 序列:
執行的操作

計算機就會幫我們逐一取出序列中的每項內容,執行冒號後的操作。
把迴圈的語法格式套用在今天的案例中,需要把元素,序列,執行的操作這三項內容補齊。

元素:我們可以用i來代替,表示取出的每一項資料內容;

序列:代表資料存放的地方,本例中,文件名都儲存在name中;

執行的操作:列印文件名。
列印功能需要用到我們上節課學習的print()語句,下面來用迴圈完成操作:

本次對應程式碼:

for i in name:		#迴圈(for,while等)條件(if,elif,else)後都需要加“:”
    print(i)		#print()前需要一個tap否者會產生錯誤

在這裡插入圖片描述
列印完成。成功得到資料夾中的所有檔名稱

現在完整看一下今天的程式碼,自己是不是已經能理解其中的邏輯了~

#匯入所需要的庫,os 模組提供了非常豐富的方法用來處理檔案和目錄
import os 
#指定資料夾的路徑
path='D:/課程/python/資料夾'
#讀取資料夾下的文件名稱
name=os.listdir(path)
#迴圈列印文件名稱
for i in name:
    print(i)

總結

今天分享,我們經過下面四個步驟

匯入模組
得到資料夾路徑
獲取文件名稱
迴圈列印檔名
完成了提取路徑下所有文件名稱的任務。
還學習掌握了四個語法知識點,現在來回顧一下。
1、 模組

Python中有各種神奇的模組,它們各自有不同功能,各模組中存放了許多方法。將這些模組匯入程式中,就能直接運用裡面的方法解決問題。省去了自己辛苦鑽研找對策的時間,避免重複造輪子。
2、 變數

使用等號=賦值,等號左邊是變數名,右邊是需要儲存的內容。
3、方法

可以為它傳入不同引數,需要用某個功能的時候不必瞭解內部細節,只關注輸入輸出就好。
4、迴圈
迴圈是指把一件事重複執行多次,計算機能高效準確地完成枯燥的重複性工作。for迴圈的格式為:
for 元素 in 序列:

師承Python學習聯盟

如對python語言有興趣可以微信關注Python學習聯盟

希望本次分享能對您有所幫助!!!

																		——一個熱愛Python的學習崽

相關文章