Как открыть кучу файлов .txt в одну строку через Python - PullRequest
0 голосов
/ 13 июня 2018

Мне понятно, как открыть один файл, и это довольно просто, используя функцию open(), например:

with open('number.txt', 'rb') as myfile:
    data=myfile.read()

Но каковы будут мои действия, если я захочу открыть 5 .txtфайлы, а также просматривать их как строку в Python?Должен ли я как-то использовать os.listdir() возможности?

Ответы [ 2 ]

0 голосов
/ 13 июня 2018

Здесь гибкий / многократно используемый подход для выполнения именно того, что вам нужно:

def read_files(files):
    for filename in files:
        with open(filename, 'rb') as file:
            yield file.read()

def read_files_as_string(files, separator='\n'):
    files_content = list(read_files(files=files))
    return separator.join(files_content)

# build your files list as you need
files = ['f1.txt', 'f2.txt', 'f3.txt']
files_content_str = read_files_as_string(files)
print(files_content_str)
0 голосов
/ 13 июня 2018

Похоже, вам нужно.

import os
path = "your_path"
for filename in os.listdir(path):
    if filename.endswith(".txt"):
        with open(os.path.join(path, filename), 'rb') as myfile:
            data=myfile.read()
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...