我正在尝试让我的程序写一个简单的config.txt文件。 这实际上是有效的:如果满足一个条件,它将在旧内容上写入新内容,然后进入下一个块。 但是,当下一个块调用程序的另一个函数时,该文件的内容就会消失:.txt文件变为空。
我已经搜索了类似的问题,但是找不到任何帖子。 我调查了: How to search and replace text in a file using Python? Search and replace a line in a file in Python 并且让其中一些起作用,但总是遇到上述问题。
请谨慎对待,因为我是新手,这是我的第一个“ not Hello_world”程序,也是我的第一篇文章。谢谢:)
def alias(confirmation):
###First block###
if confirmation.lower()=='yes':
print("...")
config=open('config.txt','r')
data=config.read()
config.close()
newdata=data.replace('runcount=0','runcount=1')
config=open('config.txt','w')
config.write(newdata)
config.close()
confirmation2=input()
###Second block###
if confirmation2.lower()=='yes':
print("...")
return main()
else:
...
我选择向您显示此代码,因为我认为它是最易读的。 我尝试了“ with”方法,它给了我相同的结果。 我还尝试写入新文件,删除默认文件,然后将新文件重命名为config.txt ...同样的问题。 我不知道为什么在关闭文件时文件变为空。 消息没有错误,我的程序继续运行,但是文件为空。 请注意,我在程序的另一个功能中仅使用过一次open(config.txt,'r')。
答案 0 :(得分:0)
碰巧我在main()中编写了以下代码,但没有关闭config.txt:
config = open(“ config.txt”,“ w +”)
忘记了... 谢谢你们的提示。 我现在要藏在很暗的地方。