gpt4 book ai didi

python - 关闭程序后不保存文本文件

转载 作者:行者123 更新时间:2023-12-05 05:48:45 25 4
gpt4 key购买 nike

我目前陷入了一个保存问题。我想为游戏创建关卡,我想在 pygame 程序中构建和修改它们,然后将它们以字符串形式保存在 .txt 文件中。现在,我设法打开一个现有的文件,名为“level_n.txt”,删除我想覆盖的旧关卡,并在文本文件中写入新的关卡矩阵。

至此,一切正常。

如果我修改了文本文件,关闭它,在同一程序运行中重新打开它,然后打印关卡,更改就被保存了。

这是我的问题:当我关闭我的整个程序并重新打开它时,关卡没有改变,而当我手动打开关卡的文本文件时,这里也没有改变。

所以从我的角度来看,Python 似乎在 RAM 中创建了文件的副本,覆盖它,使用它,但是当它关​​闭时,文本文件不会保存。

为了以防万一,我已经包含了我编写文本的部分,以及一个关卡示例。 (我尝试使用 w、w+、r+、a+ 编写文本,这些都不能解决我的问题)

if event.type == pygame.KEYDOWN: #checks for save
if event.key == pygame.K_s:
with open('level'+str(n+3)+'.txt', 'w+') as f:
f.truncate(0)
for i in range(0,len(level)):
lin = ""
for j in range(0,len(level[0])):
lin = lin + str(level[i][j][0])+","+str(level[i][j][1]) + "."
lin = lin[:-1]+"\n"
f.writelines(lin)

with open('level'+str(n+3)+'.txt', 'r') as g:
level = [[[int(num[0]),int(num[2])] for num in line.split('.')] for line in g]
print(level)
print("contents saved ! (maybe)")

在“level4.txt”中

1,3.1,3.1,3.1,3.1,3
1,2.0,0.0,0.0,0.1,2
1,2.0,0.1,1.0,0.1,2
1,2.0,0.0,0.0,0.1,2
1,3.1,3.1,3.1,3.1,3

Python 3.8,窗口 10

最佳答案

使用文件的完整路径而不仅仅是文件名,它应该可以正常工作例如:

with open(r'E:\Project\level'+str(n+3)+'.txt', 'w+') as f:

关于python - 关闭程序后不保存文本文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/70763393/

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