我正在研究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