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

У меня есть следующий код:

with open("Berry2019_Table1.txt", "r") as datafile:
    print (datafile.read().split()[11::4])

mass = datafile.read().split()[11::4]

Это дает мне ошибку операции ввода-вывода. Я пытаюсь поместить список значений в переменную, так как мне go это исправить? Заранее спасибо.

Ответы [ 3 ]

0 голосов
/ 05 августа 2020

сделайте следующее:

with open("Berry2019_Table1.txt", "r") as datafile:
    print (datafile.read().split()[11::4])
    mass = datafile.read().split()[11::4]

вне блока with datafile будет закрыто, и вы не сможете получить к нему доступ ...

0 голосов
/ 05 августа 2020

вы пытаетесь вызвать файл за пределами loop, поскольку вы используете with, вы должны выполнять все операции с loop. Итак, вместо этого используйте:

with open("Berry2019_Table1.txt", "r") as datafile:
    print (datafile.read().split()[11::4])

    mass = datafile.read().split()[11::4]
0 голосов
/ 05 августа 2020

Отступ. Ваш "mass = datafile.read ..." должен находиться в пределах "with open (...", поскольку вы пытаетесь вызвать файл данных из оператора withas.

...