gpt4 book ai didi

python - Python 中的崩溃或 ErrorValue - 关闭文件

转载 作者:行者123 更新时间:2023-12-01 01:55:01 24 4
gpt4 key购买 nike

我有一个类,其中包含我们的所有数据,在这里我通过以下方式打开一个文件:

carIn= open("dataIn.txt","w")
carOut= open("dataUit.txt","w")

在另一个类(class)中,我有一个主程序循环。我在循环中关闭了文件,但它不会再次打开。如果我在循环外关闭它,整个程序就会崩溃。这是我的代码:

while startScreen.getstopt() == False:

startScreen.start()
print("screen start")

screen = Screen(wereld.getIntersection())
startSimulatiion()
print("Simulatiion start:")

for x in Files.listIn:
Files.carIn.write(str(x) + "\n")

for x in Files.listOut:
Files.carOut.write(str(x) +"\n")


result= Resultaten()
Files.calculatedRatio= result.calculateRatio()
print(Files.calculatedRatio)

if screen.startScreen == True:
Files.carIn.write("\n")
Files.carIn.write("\n")
Files.carIn.write("\n")
Files.carOut.write("\n")
Files.carOut.write("\n")
Files.carOut.write("\n")

Files.carIn.close()
Files.carOut.close()

最佳答案

在我看来,你不应该持有 open要传递的类/实例变量中的对象。这会变得困惑并且很容易忘记close明确地。

相反,我会将文件名保存在变量中,并将它们传递到 open 的函数中。和close文件通过with声明。

这是一个例子:

Files.carIn = 'dataIn.txt'
Files.carOut = 'dataUit.txt'

with open(Files.carIn, 'w') as file_in, open(Files.carOut, 'w') as file_out:
while startScreen.getstopt() == False:
# do things with file_in & file_out

关于python - Python 中的崩溃或 ErrorValue - 关闭文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50306952/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com