做一些彙總性的工作或者工作總結時,經常需要提取一批文件的文件名,以我爲例,在完成一本圖書的文稿工作後,最終需要統計這本書一共有哪些章、每章有多少頁碼,這時就需要將每章的文件名(不能包含文件擴展名)提取出來保存到一個文件中,以方便統計,本例就解決了我的這個問題。例如,《Python從入門到項目實踐》這本書的所有文稿放在一個文件夾中,現在要統計這本書一共包含哪些章,並存放到一個文件中。
首先使用open()方法以寫入模式打開文件,然後使用os.listdir()方法獲取指定路徑下的所有文件,並用os.path.splitext()方法對文件名和擴展名進行分離,獲取到文件名,最後使用文件對象的write()方法將文件名寫入文件中即可。代碼如下:
import os # 導入os模塊
with open('D:\Test.txt', 'a') as f: # 以追加方式打開文件
path=input('請輸入要提取名稱的文件所在路徑:') # 記錄輸入的路徑
try:
list = os.listdir(path) # 遍歷選擇的文件夾
for i in range(0, len(list)): # 遍歷文件列表
filename=os.path.splitext(list[i])[0] # 提取文件名
f.write(filename+'\n') # 將提取的文件名寫入文本文件
print('文件名提取完成 ')
except:
print('請輸入一個有效路徑……')