我的代码没有写入文本文件,但我没有收到任何错误

My code isn't writing to the text file but I'm not getting any errors

我是 python 的初学者,我已经开始开发一个简单的程序,每 5 分钟从网站上抓取当前的比特币价格,检测上次抓取的变化,打印此信息并也将其写入文本文件。我当前的代码完成了所有这些,只是无法将其写入文本文档,我不知道为什么。

我很确定错误出在 write() 函数中,因为这是错误消息指向的地方,但如果有人认为这是问题所在,我可以包含完整代码。

def write():
    global change
    nps = str(newPrice) + ' USD'
    writeThis = nps + ' ' + writeChange
    f.write(writeThis) 
    f.write('\n')
    print(writeThis)

with open("bitcoinPrice.txt","w+") as f:
        while True:
            getCost()
            calcChange()
            write()

由于我是 python 的新手,我知道我的很多代码可能有更好的方法,我完全愿意接受建议!

您需要将文件对象 f 传递给 write():

def write(f):  # <-- file object
    global change
    nps = str(newPrice) + ' USD'
    writeThis = nps + ' ' + writeChange
    f.write(writeThis)
    f.write('\n')
    print(writeThis)

with open("bitcoinPrice.txt","w+") as f:
        while True:
            getCost()
            calcChange()
            write(f)  # <-- write needs to know what to write to