Python调用Binance API获取文件内加密交易对价格报-1100错误如何解决
问题原因
你遇到的-1100非法字符报错确实是读取文件行时携带了末尾换行符\n导致的。用open()逐行读取文件内容时,返回的每一行字符串默认会保留行尾的换行符,传入币安接口时就会被判定为非法字符。你观察到打印交易对时中间有空行,就是换行符被打印出来的直接表现。
修复后的代码
from binance.client import Client api_key = "..." api_secret = "..." client = Client(api_key, api_secret) def get_price(coin_symbol): print(coin_symbol) cry_coin_price = client.get_symbol_ticker(symbol=coin_symbol) cur_price = cry_coin_price["price"] print(cur_price) # 用with上下文管理器打开文件,会自动关闭文件,避免资源泄漏 with open("file.txt", "r", encoding="utf-8") as f: for line in f: # strip()会去掉字符串首尾的所有空白字符,包括换行符、空格、制表符 processed_symbol = line.strip() # 跳过空行,避免文件里存在空行时传空字符串给接口报错 if processed_symbol: get_price(processed_symbol)
关键修改点说明
- 逐行读取后调用
.strip()方法处理字符串,彻底清除末尾的换行符和首尾意外空格 - 新增空行判断逻辑,兼容文件中存在空白行的场景
- 用
with语法管理文件打开流程,无需手动调用close(),运行更稳定 - 把交易对作为参数传入
get_price函数,取消全局变量传递,降低逻辑耦合
内容的提问来源于stack exchange,提问作者Edart
相关产品推荐
相关产品推荐

