我对Python还不熟悉。我正在使用python设计一个报价应用程序。我正在使用BeautifulSoup从聪明的报价网站获得当天的报价。我会把它附加到文本文件中。在这里,如果已经添加了当天的引号,当我再次执行程序时,它应该跳过它。如何使之成为可能
代码如下:
from bs4 import BeautifulSoup
import socket
import requests
import subprocess
import datetime
def quotenotify():
timestamp = datetime.datetime.now().strftime("%b %d")
res = requests.get('https://www.brainyquote.com/quote_of_the_day')
soup = BeautifulSoup(res.text, 'lxml')
image_quote = soup.find('img', {'class': 'p-qotd bqPhotoDefault bqPhotoDefaultFw img-responsive delayedPhotoLoad'})
quoteday=image_quote['alt']
text_file = open("quotes.log", "a+")
text_file.write("%s"%timestamp+"\t"+"%s"% quoteday)
text_file.write("\n")
text_file.close()
return
quotenotify()
在文件中输出:
Mar 29 Where there is a great love, there are always wishes. - Willa Cather
Mar 29 Where there is great love, there are always wishes. - Willa Cather
继续评论:
编辑:
因为使用模式
w+
会截断文件,所以我建议使用pathlib:正如@DirtyBit所提到的,您应该首先以读取模式打开文件,然后将内容加载到变量中。你知道吗
您可以在下面的示例中看到,我将内容加载到变量上,然后仅当变量不在文本文件中时才附加到文件。你知道吗
相关问题 更多 >
编程相关推荐