无法在 python 中追加文件

Unable to append file in python

我有这个脚本,它可以从雅虎财经拉出过去这么多年的股价。

代码为 运行 后,我无法再次写入文件,即使支持ose 检查存在的内容并追加。

我收到以下错误: FileExistsError:[Errno 17] 文件存在:'stocks_dfs'

请指教!

'''python 将 bs4 导入为 bs 进口泡菜 导入请求 将日期时间导入为 dt 将 pandas 导入为 pd 进口 os 将 pandas_datareader.data 导入为网络 从时间导入睡眠</p> <pre><code>def save_sp500_tickers(): resp = requests.get('https://en.wikipedia.org/wiki/List_of_S%26P_500_companies') soup =bs.BeautifulSoup(resp.text,'lxml') table=soup.find('table',{'class':'wikitable sortable'}) tickers=[] for row in table.findAll('tr')[1:]: ticker= row.findAll('td')[1].text tickers.append(ticker) with open("sp500ticker.pickle", "wb") as f: pickle.dump(tickers,f) print (tickers) return tickers #save_sp500_tickers() def get_data_from_yahoo(reload_sp500=False): if reload_sp500: tickers=save_sp500_tickers() else: with open("sp500ticker.pickle","rb") as f: tickers=pickle.load(f) if not os.path.exists('stock_dfs'): os.makedirs('stocks_dfs') start = dt.datetime(2016,1,1) end = dt.datetime.now() for ticker in tickers: print(ticker) if not os.path.exists('stocks_dfs/{}.csv'.format(ticker)): df = web.DataReader(ticker,'yahoo', start, end) df.to_csv('stocks_dfs/{}.csv'.format(ticker)) else: print('Already have {}'.format(ticker)) get_data_from_yahoo()

'''

FileExistsError: [Errno 17] File exists: 'stocks_dfs'

您抱怨此行失败:

    os.makedirs('stocks_dfs')

要支持重复调用,您需要指定 exist_ok=True 标志。