ValueError:关闭文件的I / O操作。

时间:2016-04-02 16:48:21

标签: python python-3.5

有人可以帮助我,当我运行文件时出现此错误 ValueError:关闭文件的I / O操作。 我只是想尝试运行一个simle测试文件 一 二 三 四 五 六 七 八 九 10

def main():
# Declare variables
line = ''
counter = 0

# Prompt for file name
fileName = input('Enter the name of the file: ')

# Open the specified file for reading
infile = open(fileName, 'r')

# Priming read
line = infile.readline()
counter = 1

# Read in and display first five lines
while line != '' and counter <= 5:
# Strip '\n'
    line = line.rstrip('\n')
    print(line)
    line = infile.readline()
    # Update counter when line is read
    counter +=1  

# Close file
    infile.close()

# Call the main function.
main()

1 个答案:

答案 0 :(得分:3)

在Python中,缩进是语法的一部分 - 它表示代码块。

您的代码段清楚地显示infile.close()操作内部循环,因此它在第一次迭代时执行。因此,第二次从文件读取失败,因为文件在前一次迭代中已经关闭。

只需要修改行infile.close()即可修复。

或者,使用上下文管理器来允许Python管理资源清理。

with open(fileName, 'r') as infile:
    pass  # operate on file here

# file will be closed automatically when you leave code block above.