如何根据扩展名打开文件?

时间:2018-05-31 19:47:42

标签: python file

我想在同一目录中打开任何 .txt文件。

在红宝石中,我可以做到

File.open("*.txt").each do |line|
       puts line
end

在python中,我不能这样做会产生错误

file = open("*.txt","r")
print(file.read())
file.close()

它给出了一个错误无效的参数。

那有什么办法吗?

2 个答案:

答案 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()
相关问题