通过NsePy实现每1.5秒获取实时LTP数据的问题
解决NSE现货LTP实时更新问题
你的问题出在获取价格的代码只执行了一次,循环里只是重复打印初始获取的旧值,没有重新请求最新数据。要实现每1.5秒更新,需要把请求数据的逻辑移到while循环内部。
修改后的代码如下:
# importing Required Modules from nsetools import Nse import time # Welcome print("A Product of iTrenzy Technologies") # Making the Symbol UpperCase symbol = input("Enter Symbol: ") symbol_1 = symbol.upper() # Initialize NSE object once outside the loop nse = Nse() print("Press Ctrl+C to stop the program") try: while True: # 每次循环重新获取最新价格 try: q = nse.get_index_quote(symbol_1) v = q["lastPrice"] except: q = nse.get_quote(symbol_1) v = q["lastPrice"] print(f"The Current Spot Price of {symbol_1} is {v}") time.sleep(1.5) except KeyboardInterrupt: print("\nProgram stopped by user")
关键改动说明:
- 将获取
lastPrice的try-except块移到while循环内部,确保每次循环都重新请求NSE的最新数据 - 添加了
KeyboardInterrupt捕获,方便用户通过Ctrl+C正常终止程序 - 保留了NSE对象的初始化在循环外,避免重复创建对象
内容的提问来源于stack exchange,提问作者Faltu Login
相关产品推荐
相关产品推荐

