获取“ValueError:在关闭的文件上进行I / O操作”

3
import csv
    
with open('MOCK_DATA.csv','r') as f:
    mockDataReader = csv.reader(f)

lineCount = 1

for row in mockDataReader:
    if lineCount > 1:
      print(row)
      lineCount += 1

它给我一个错误。以下是错误信息:

Traceback (most recent call last):
  File "c:\Users\python programe\.vscode\readingCsvfile.py", line 8, in <module>
    for row in mockDataReader:
ValueError: I/O operation on closed file.
2个回答

1
< p > with 上下文块在你退出时关闭文件。你应该将所有使用你打开的读取器的后续代码嵌套在其中:

with open('MOCK_DATA.csv','r') as f:
    mockDataReader = csv.reader(f)

    lineCount = 1
    
    for row in mockDataReader:
        if lineCount > 1:
          print(row)
          lineCount += 1

1
你试图在文件关闭后(with块外部)读取该文件。
import csv

with open('MOCK_DATA.csv','r') as f:
    mockDataReader = csv.reader(f)

    lineCount = 1

    for row in mockDataReader:
        if lineCount > 1:
            print(row)
            lineCount += 1

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接