file = open("byteS-F_FS_U.toff","r")
f = file.readline()
s = file.readline()
file.close()
f = int(f)
s = int(s)
u = s - f
file = open("bytesS-F_FS_U","w")
file.write(float(u) + '\n')
file.close()
这就是我在运行代码时所说的内容:
f file.write(float(u) + '\n') TypeError:
unsupported operand type(s) for +: 'float' and 'str'
我正在尝试从每隔几秒钟获取新数字的文件中加载数字。 当他们重新加载时,他们会被减去并放入另一个文件中。我是一个新的python程序员。
答案 0 :(得分:0)
首先,您需要填写您尝试打开的文件的完整路径!
首先解决了这个问题,我创建了一个循环程序,它每隔10秒打开一次文件并将结果写入另一个文件。处理异常,因此如果另一个进程在打开/读取时写入文件,则不会崩溃。 Python 3语法。
import time
while True:
try:
file = open(r"fullpath_to_your_file\byteS-F_FS_U.toff","r")
f = int(file.readline())
s = int(file.readline())
file.close()
except Exception as e:
# file is been written to, not enough data, whatever: ignore (but print a message)
print("read issue "+str(e))
else:
u = s - f
file = open(r"fullpath_to_your_file\bytesS-F_FS_U","w") # update the file with the new result
file.write(str(u) + '\n')
file.close()
time.sleep(10) # wait 10 seconds
答案 1 :(得分:0)
你不能做float + string,那么你应该做像:
"{0}\n".format(float(u))