import os,sys
import time
from colorama import Fore,Back,Style,init
init(autoreset=True)
appdata_path = os.path.join(os.getenv("APPDATA"), os.pardir)
subpath = "Local/sieosp/filesav2292.sav"
f = open(os.path.join(appdata_path, subpath), "r+")
lines=f.readlines()
a1=int (lines[116])
a2=int (lines[120])
a3=int (lines[124])
b4=int (lines[128])
c5=int (lines[132])
d6=int (lines[136])
e7=int (lines[140])
d8=int (lines[144])
d9=int (lines[148])
d10=int (lines[152])
d11=int (lines[156])
d12=int (lines[160])
total=int (a1+a2+a3+b4+c5+d6+e7+d8+d9+d10+d11+d12)
if (total)==(12):
print("You already own every character")
else:
with f:
userinputvalue=int (input("Type 1 if you want to unlock every character,or 0 if you would like to close this \n"))
if(userinputvalue)==1:
lines[156]=f.write("1\n")
lines[116]=f.write("1\n")
lines[120]=f.write("1\n")
lines[124]=f.write("1\n")
lines[128]=f.write("1\n")
lines[132]=f.write("1\n")
lines[136]=f.write("1\n")
lines[140]=f.write("1\n")
lines[144]=f.write("1\n")
lines[148]=f.write("1\n")
lines[152]=f.write("1\n")
lines[160]=f.write("1\n")
else:
print("Closing")
time.sleep(1)
所以这应该有效,对吗?不知道f.write为什么不写1到我的文件。我用它非常错吗?搜索谷歌周围的一些更多的信息,但我不明白一件事:/试图使用f.write作为f.readlines但没有运气。感谢
答案 0 :(得分:0)
看起来你不能在写模式下打开文件,只能在读模式下打开文件。
f = open(os.path.join(appdata_path,subpath)," r +")
更改" r"到了" w"
答案 1 :(得分:0)
您已使用" r +"打开文件,因此文件甚至可写,问题是如果您使用" r +"打开文件你必须管理文件中的指针,否则字符串将在最后附加。
为了管理它,您必须使用此处所述的f.seek(offset, from_what)
功能Input and Output。
例如,在此代码中,我只更改文件的第一行:
f = open("File/Path/file.txt", "r+")
f.seek(0,0)
f.write("something")
f.close()
你也使用line[N] = f.write("something")
,小心地以这种方式使用它,因为它返回写入的字符数,而不是写入的字符;)