关于python:如何自动打开给定文件夹中的所有文本文件?

How can I automatically open all text files in a given folder?

本问题已经有最佳答案,请猛点这里访问。
1
2
3
4
5
6
7
8
9
file_name=[]
user_input= input('File name: ')
while user_input !="":
    part_name.append(user_input)
    user_input = input('File Name: ')

measure_list=[]    
for f in file_name :
    with open("/Users/Desktop/File/%s.txt" %f ,"r",encoding="UTF-16") as read_file:

这是我目前的代码。它接受用户输入来搜索用户指定的文件,然后将该文件添加到列表中,并通过循环逐个打开每个文件。我想尝试使这个过程更加自动化,这样脚本将自动为这个过程获取给定文件夹中的所有文件,而不是用户必须输入每个文件的名称。有什么关于如何使这个更自动化的建议吗?


您可以使用新的python库pathlib

1
2
3
4
5
6
7
from pathlib import Path

p = Path.cwd()
files = [x for x in p.iterdir()]
for file in files:
    with open(str(file), 'r', encoding="UTF-16") as f:
        # ....

使用os.listdir

1
2
for f in os.listdir("/Users/Desktop/File/"):
    with open(f,"r", encoding="UTF-16") as read_file:

使用glob.glob而不是只选择与给定模式匹配的文件:

1
2
for f in glob.glob("/Users/Desktop/File/*.txt"):
    with open(f,"r", encoding="UTF-16") as read_file: