首页
学习
活动
专区
工具
TVP
发布
社区首页 >问答首页 >如何在无限循环中写入txt文件?

如何在无限循环中写入txt文件?
EN

Stack Overflow用户
提问于 2019-06-27 07:27:34
回答 1查看 267关注 0票数 0

我正在尝试创建一个循环,每次事件发生时都会在文本文件中写入日期。但是我不能让它工作,因为我需要一个无限循环来运行程序。如果我将myfile.close()放在循环中,甚至在"if x14==“跟踪中也是如此:”I get:

代码语言:javascript
复制
myfile.write(wri)
ValueError: I/O operation on closed file.

但是,如果我把它放在循环之外,文件不会关闭,输出文件中也不会写入任何内容。

以下是代码

代码语言:javascript
复制
while 1 :
    print("yes")
    response = requests.get('https://api.spotify.com/v1/me/player/currently-playing', headers=headers)
    soup2 = BeautifulSoup(response.text, "html.parser")
    x=re.findall('"([^"]*)"', str(soup2)) 

    if isinstance(x, list)==True:
        if len(x)>=15:
            print(x[14])


            if x[14]=="track":


                os.system("TASKKILL /IM spotify.exe")
                sleep(2)
                subprocess.Popen("C:/Users/nebbu/AppData/Roaming/Spotify/Spotify.exe")
                sleep(2)
                import pyautogui
                pyautogui.press("playpause")
                pyautogui.press("l")
                print(x)
                wri=str(date)+"- -"+str(x[13]+": "+str(x[14]))
                myfile.write(wri)


myfile.close()

循环永远不会结束,我不知道是否必须结束才能关闭文件,或者是否有其他方法。

EN

回答 1

Stack Overflow用户

发布于 2019-06-27 07:34:04

只需创建一个自定义函数,并在每次想要在文本文件中添加新行时调用它。例如:

代码语言:javascript
复制
def f(dump):
    file = open('myfile.txt', 'a')
    file.write(dump)
    file.write('\n')
    file.close()

然后将您想要动态写入的值传递给它。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/56782114

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档