You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

nsetools API中get_quote设置cached=False报错问题求助

问题原因与解决方案

你的错误根源很清晰:get_quote() 方法并不支持 cached 这个关键字参数,你把 get_stock_codes() 的专属参数误用在了 get_quote() 上,这才触发了 TypeError。

官方文档里提到的 cached=False 是针对 get_stock_codes() 方法的,作用是避免获取缓存的股票代码列表,但这个参数完全不适用于 get_quote()。

解决缓存问题的正确方法

要让 get_quote() 每次都拉取最新的股票报价,有两种简单可行的方案:

方法1:每次调用前清除对应股票的缓存

nsetools 的 Nse 实例会把已获取过的股票报价缓存到 _quotes 属性中,你可以在每次调用 get_quote() 前手动移除目标股票的缓存条目:

from nsetools import Nse

nse = Nse()
# 每次获取前清除infy的缓存条目
nse._quotes.pop('infy', None)
q = nse.get_quote('infy')

这样下次调用时就会重新请求API获取最新数据。

方法2:每次创建新的Nse实例

每个 Nse 实例的缓存是相互独立的,你可以直接在每次查询时新建一个实例:

from nsetools import Nse

# 每次新建实例,绕过缓存获取最新报价
q = Nse().get_quote('infy')

这种方式更简洁,很适合你的定时查询场景。

额外提醒

注意不要过于频繁调用API(比如你设置的5秒一次),避免触发平台的限流机制,导致请求被拒绝。

内容的提问来源于stack exchange,提问作者Bhoopalan

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.15 04:12:09