我想在同一目录中打开任何 .txt文件。
在红宝石中,我可以做到
File.open("*.txt").each do |line|
puts line
end
在python中,我不能这样做会产生错误
file = open("*.txt","r")
print(file.read())
file.close()
它给出了一个错误无效的参数。
那有什么办法吗?
答案 0 :(得分:5)
您可以直接使用glob
模块进行此操作
import glob
for file in glob.glob('*.txt'):
with open(file, 'r') as f:
print(f.read())
答案 1 :(得分:1)
使用os.listdir
列出当前目录中的所有文件。
all_files = os.listdir()
然后,过滤那些具有您正在寻找的扩展名的扩展,然后循环打开它们。
for filename in all_files:
if filename.lower().endswith('.txt'):
with open(filename, 'rt') as f:
f.read()