以下是基本功能:
在CheckReady.txt
文件中,可以有1
或0
在读取1
后,它应返回True,然后将1
替换为0
以完成重置
如果它显示为0
,那么它将返回false。
以下是我的代码:
def CheckReady():
s = open("CheckReady.txt").read()
print "Ready= ",s
if s == "1":
print "ready"
return True
s = s.replace("1", "0");
f = open ("TrakStarReady.txt",'w')
f.write(s)
print "Ready= ",s, "Reset Complete"
elif s == "0":
print "not ready"
return False
f.close()
以下是我的问题:
我知道在return True
之后,代码将停止将1
替换为0
...我在编程方面真的很新...尝试多次,但不知道如何解决这个问题。
有人可以帮我解决这个问题并完成基本功能吗?
答案 0 :(得分:0)
做你想做的一切,然后返回:
def CheckReady():
with open("CheckReady.txt") as check:
s = check.read()
print "Ready= ",s
if s == "1":
print "ready"
s = "0"
with open("TrakStarReady.txt",'w') as trak:
trak.write(s)
print "Ready= ",s, "Reset Complete"
return True
else:
print "not ready"
return False
答案 1 :(得分:0)
您不需要打开CheckReady文件。而是将该文件用作"标记"。如果您尚未准备好,请将文件移至临时位置。准备好后,重命名。
以下是我如何改进它:
import os
def CheckReady():
if os.path.isfile('/my/path/ready.txt'):
# the file exists. Reset the marker
os.rename('/my/path/ready.txt', '/my/path/notready.txt')
with open ("TrakStarReady.txt",'w'):
f.write(1)
return True
else:
print "not ready"
return False