Попытка прочитать данные из другого файла в python - PullRequest
1 голос
/ 08 мая 2020

Я пытаюсь заставить свой код читать данные из другого файла. Данные в файле emaillist.txt записываются в следующем формате:

a
b
b
c
s
f
s

Теперь я пытаюсь выбрать случайное электронное письмо из этого файла и получаю сообщение об ошибке. Вот код {Примечание: это фрагмент кода, я импортировал правильные библиотеки}:

with open('emaillist.txt') as emails:
                read_emails = csv.reader(emails, delimiter = '\n')
        for every_email in read_emails:
                return random.choice(every_email)

и это ошибка:

Traceback (most recent call last):
  File "codeOffshoreupdated.py", line 56, in <module>
    'email': email_random(),
  File "codeOffshoreupdated.py", line 12, in email_random
    for every_email in read_emails:
ValueError: I/O operation on closed file.

Не могли бы вы помочь я исправлю это? Будет очень полезно. Заранее спасибо

Ответы [ 2 ]

1 голос
/ 08 мая 2020

Этот код вернет вам случайное электронное письмо от emilas, которое находится в файле, потому что в вашем коде возвращается первое электронное письмо из файла, поскольку это первая итерация for every_email in read_emails:

with open('emaillist.txt') as emails:
     read_emails = csv.reader(emails, delimiter = '\n')
     return random.choice(list(read_emails))[0]
1 голос
/ 08 мая 2020

Сделайте отступ для l oop, например:

with open('emaillist.txt') as emails:
                read_emails = csv.reader(emails, delimiter = '\n')
                for every_email in read_emails:
                        return random.choice(every_email)
...