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

问题描述 投票:0回答:1

我是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的新手,我知道我的很多代码可能有更好的方法,我完全欢迎大家的建议。

python text-files
1个回答
1
投票

你需要通过文件对象 fwrite():

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
© www.soinside.com 2019 - 2024. All rights reserved.