我正在研究python中的一個小腳本,其中我必須遍歷具有多種類型文件的目錄,但我只想打開文本文件。那麼我該怎麼做,下面是我的代碼。如何只打開目錄中的文本文件 - Python
import os,re
pat=re.compile(input("Enter the text you want to search for : "))
fpath=r'C:\Users\Python\Python_my_Scripts\'
for i in os.walk(fpath):
for fname in i[-1]:
fpath=os.path.join(i[0],fname)
try:
IN=open(fpath,"r")
except Exception as e:
print(e)
else:
line_num=0
for line in IN:
line_num+=1
if not re.search(r'^\s+#',line):
if re.search(pat, line):
print("{1:>2d} : {0}".format(fpath,line_num))
如果目錄包含任何非文本文件,代碼基本上會在try段中斷。
那麼,有什麼幫助嗎?
你可以添加一個檢查,看看文件名是否以'.txt'結尾? – WhatsThePoint
@WhatsThePoint:不幸的是我不能這樣做,事實上我不想這樣做,一個文本文件可能沒有.txt擴展名。 – Rohit