如何自动打开给定文件夹中的所有文本文件? [复制]

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:
        # ....

【讨论】:

以上是关于如何自动打开给定文件夹中的所有文本文件? [复制]的主要内容,如果未能解决你的问题,请参考以下文章

如何从c ++中的给定目录中删除所有文本文件

如何检查文本文件中的整数? [复制]

如何修复sublime文本中的编码问题

如何从 iOS 的文档目录中复制所有文本文件?

我们如何使用Windows Powershell脚本替换文本文件中的日期?

如何读取大约 2 GB 的文本文件? [复制]