我只是想知道,为什么我的程序,即使它找到了数据,不能写特斯拉的数据,即使它写的每一个股票的数据。这是我的代码:
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")发布于 2017-05-23 18:46:19
避免此类文件关闭问题的一个好方法是使用with构造:
例如,替换
new = open("Stocks.txt","w")使用
with open("Stocks.txt","w") as new:
new.write ("XXX")
#you can do all kinds of stuff here这将在您完成缩进部分之后自动关闭文件。您可以在这个这里和这个所以问题上阅读。
https://stackoverflow.com/questions/44142107
复制相似问题