Создание файлов с именами на основе записей в текстовом файле - PullRequest
0 голосов
/ 03 марта 2020
i = 1
with open("randomStuff\\test\\brief.txt") as textFile:
    lines = [line.split('\n') for line in textFile]
for row in lines:
    for elem in row:
        with open(elem + ".txt", "w") as newLetter:
            newLetter.writelines(elem)
            i += 1

У меня есть текстовый файл с именами. Я хочу создать файлы с такими именами, как: firstnameLastname.txt Имена появляются в файлах тоже. На данный момент он работает нормально, но создает на пустом файле с именем .txt Может кто-нибудь сказать мне, почему? Если я прав, проблема должна быть в циклах.

Ответы [ 2 ]

0 голосов
/ 03 марта 2020

Я не знаю, почему у вас так много петель:

from pathlib import Path

text_file_content = Path("randomStuff/test/brief.txt").read_text().split_lines()
for line in text_file_content:
    if line:  # in case you have a new line at the end of your file, which you probably should
        with open(f"{line}.txt", "w") as new_letter:
            new_letter.writelines(line)
0 голосов
/ 03 марта 2020

Добавить оператор if, чтобы предотвратить создание файлов в пустых строках

Редактировать

i = 1
with open("randomStuff\\test\\brief.txt") as textFile:
    lines = [line.split('\n') for line in textFile]
for row in lines:
    for elem in row:
        if elem == “”:
            continue
        with open(elem + ".txt", "w") as newLetter:
            newLetter.writelines(elem)
            i += 1

Продолжить, перейдет к следующему циклу l oop без выполнения команды ниже код

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...