Python错误:Python值错误:关闭fi上的I/O操作

2024-04-23 12:13:06 发布

您现在位置:Python中文网/ 问答频道 /正文

Python错误:Python值错误:对关闭的文件执行I/O操作

我在试密码

import random

with open("GoneGirlSW.txt", "r") as f,open('trainData.txt','w') as   trainFile,open('testData.txt','w') as testFile:
    data = f.read().split('\n')
    random.shuffle(data)
    train_data = data[:50]
    test_data = data[50:]

    trainFile.write(str(train_data))
    testFile.write(str(test_data))

但这是错误的

^{pr2}$

Tags: 文件testimporttxt密码dataas错误
3条回答

with语句后的代码行应缩进

当with/as语句完成时,文件将自动关闭。在您的例子中,由于缺少缩进,with/as语句立即完成。代码应为: 随机导入

with open("GoneGirlSW.txt", "r") as f,open('trainData.txt','w') as trainFile,open('testData.txt','w') as testFile:
  data = f.read().split('\n')
  random.shuffle(data)
  train_data = data[:50]
  test_data = data[50:]

  trainFile.write(str(train_data))
  testFile.write(str(test_data))

很难知道,因为代码没有正确缩进。我想这是因为你还不熟悉问题编辑。在

with语句的目的是让您在已知上下文中执行代码。在打开文件的情况下,它保证在缩进套件的末尾关闭文件。所以我猜您没有缩进最后两个语句,因此它们是with所覆盖代码的一部分。在

相关问题 更多 >