如何自动打开给定文件夹中的所有文本文件? [复制]
Posted
技术标签:
【中文标题】如何自动打开给定文件夹中的所有文本文件? [复制]【英文标题】:How can I automatically open all text files in a given folder? [duplicate] 【发布时间】:2016-12-24 10:38:54 【问题描述】: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:
这是我目前现有的代码。它需要用户输入来搜索用户指定的文件,然后将该文件添加到列表中,并通过循环一个一个地打开每个文件。我想尝试使它更加自动化,以便脚本将自动获取给定文件夹中的所有文件,而不是用户必须输入每个文件的名称。关于如何使其更加自动化的任何建议?
【问题讨论】:
你看过glob module和os.listdir吗? 谢谢你,John Sharpe,我觉得我在问这个问题之前已经足够努力了,但我想下次我需要更多的挖掘 【参考方案1】:使用os.listdir
:
for f in os.listdir("/Users/Desktop/File/"):
with open(f, "r", encoding="UTF-16") as read_file:
使用glob.glob
来仅选择与给定模式匹配的文件:
for f in glob.glob("/Users/Desktop/File/*.txt"):
with open(f, "r", encoding="UTF-16") as read_file:
【讨论】:
谢谢,glob.glob 帮了大忙。【参考方案2】:您可以改用新的 Python 库 pathlib
:
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:
# ....
【讨论】:
以上是关于如何自动打开给定文件夹中的所有文本文件? [复制]的主要内容,如果未能解决你的问题,请参考以下文章