Как правильно создать новые файлы и применить к нему несколько строк ввода? - PullRequest
0 голосов
/ 11 февраля 2020

Я пытаюсь создать 3 разных файла, которые я затем пытаюсь напечатать десятью случайными буквами, чтобы вывести их 3 раза в файл. Вот мой код:

import string
import random

for i in range(3):
    with open('data%i.txt' % i, 'w+') as f:
        line = 0
        while line < 3:
            for j in range(10):
                myStr = random.choice(string.ascii_lowercase)
                f.write(myStr)

            line = line + 1

и вывод:

dfzanwalkccdipukrbwsrzrbheceqi

Я пытался напечатать их, включая символ новой строки в записи файла, но вместо этого он печатает 30 строк с одна буква в строке. Любая помощь приветствуется!

1 Ответ

0 голосов
/ 11 февраля 2020

Введите новую строку в строке l oop, а не символ l oop.

Вы также можете изменить while line < 3: на for line in range(3):

for i in range(3):
    with open('data%i.txt' % i, 'w+') as f:
        for line in range(3):
            for j in range(10):
                myStr = random.choice(string.ascii_lowercase)
                f.write(myStr)
            f.write("\n")

Вы можете также используйте random.choices(), чтобы получить 10 случайных символов одновременно, вместо зацикливания.

for i in range(3):
    with open('data%i.txt' % i, 'w+') as f:
        for line in range(3):
            myStr = "".join(random.choices(string.ascii_lowercase, k=10))
            f.write(myStr + "\n")
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...