如何创建一个写入文件python的循环

时间:2016-02-09 05:53:17

标签: python loops

我正在尝试将我从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)

2 个答案:

答案 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语句并使用相同的计数器。