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

Python 我的代码没有写入文本文件,但没有收到任何错误,python,text-files,Python,Text Files,我是python的初学者,我已经开始开发一个简单的程序,每5分钟从一个网站上获取当前比特币价格,检测前一次获取的变化,打印此信息并将其写入文本文件。我当前的代码完成了所有这一切,除了无法将其写入文本文档之外,我不知道为什么 我很确定这个错误在write函数中,因为这就是错误消息指向的地方,但是如果有人认为这是问题所在,我可以包含完整的代码 def write(): global change nps = str(newPrice) + ' USD' writeThis =

我是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才能写入:


def writef:newprice和writeChange是否在文件中进一步定义?writeChange是否应该在这里更改,因为这是全局更改引入的变量?while True循环:虽然它调用了write函数,但它需要关闭文件才能写入缓冲区。也许你把while设置成一个for循环,比如说,运行10次?使用上下文管理器打开。。。将在with语句退出时自动关闭文件。我建议避免使用全局变量change、writeChange、newPrice,以确保您和others@bug_spray我知道除非绝对必要,否则一般不应该使用全局变量,但我不知道其他任何有效的方法。。。