我只是想知道为什么我的程序即使找到了数据也无法写入特斯拉的数据,即使它写的是其他所有股票的数据。这是我的代码:
import requests, bs4, logging
stocks = {"google":"694653","amazon":"660463","apple":"22144","hack":"898127760101820","facebook":"296878244325128",
"biotech":"700203","construction":"705971","nvidia":"662925","netflix":"672501","tesla":"12607212","":""}
new = open("Stocks.txt","w")
for stock in stocks:
website = requests.get("https://www.google.ca/finance?cid=" + stocks[stock])
website.raise_for_status()
html = bs4.BeautifulSoup(website.text,"html.parser")
price = (html.select(("#ref_%s_l") % stocks[stock])[0]).getText()
change = (html.select(("#ref_%s_cp") % stocks[stock])[0]).getText()
today = open("Stocks.txt","a")
today.write(stock + ": " + price + " " + change + 2*"\n")
答案 0 :(得分:0)
避免这类文件关闭问题的一个好方法是使用with
构造:
替换实例
new = open("Stocks.txt","w")
带
with open("Stocks.txt","w") as new:
new.write ("XXX")
#you can do all kinds of stuff here
完成缩进部分后,这将自动关闭文件。您可以阅读here以及此SO question。