我正在尝试将我从yahoo finance API获得的货币汇率保存为.txt文件作为while循环,而另一个线程正在读取它并用它编写图表。由于某种原因,它不会写入文件,因此整个程序将无法正常工作
def thread(spot=1):
while spot >60:
savedFile.write(str(currencies.get_rate()) + ',' + str(spot) + '\n')
spot += 1
time.sleep(1)
答案 0 :(得分:0)
当数据在缓冲区中时,您无法将其读入另一个线程。你应该flush
该文件。告诉操作系统将缓冲区推送到磁盘。
def thread(spot=1):
while spot >60:
savedFile.write(str(currencies.get_rate()) + ',' + str(spot) + '\n')
savedFile.flush()
spot += 1
time.sleep(1)
答案 1 :(得分:0)
尝试对循环给出更严格的限制。如果你想要它写入,直到它低于60,然后给出一个最大数字写入文件。一种方法是使用if语句并使用相同的计数器。