这是我当前的代码
def info_coin(bot, update, args):
if args[-1] == '1':
coin_list = args[:-1]
opt = 1
else:
coin_list = args
opt = 0
for coin_name in coin_list:
coin_call =requests.get("https://api.coingecko.com/api/v3/coins/" + str(coin_name)).json()
coin_isd = coin_call ['description']['en']
print(coin_isd)
update.message.reply_text(coin_isd)
我想进一步选择['en']
,仅从其中选择一定数量的文本。原因是我的信息要发送。
答案 0 :(得分:0)
如果coinCall['description']['en']
是字符串,则可以对其进行切片。
假设您要将字符串限制为10个字符,则可以将代码更新为以下内容
def infoCoin(bot,update,args,max_string=10):
if args[-1] == '1':
coin_list=args[:-1]
opt=1
else:
coin_list=args
opt=0
for coinName in coin_list:
coinCall =requests.get("https://api.coingecko.com/api/v3/coins/"+str(coinName)).json()
coinIsd = coinCall ['description']['en'][:max_string]
print(coinIsd)
update.message.reply_text(coinIsd)
请注意,如果字符串的长度小于max_string
,则只需获取整个字符串即可。
In [873]: x='string'
In [874]: x[:10]
Out[874]: 'string'
答案 1 :(得分:0)
您可以将变量传递给函数,并确定需要从词典中提取多少个字符。像下面的示例一样,我要传递100,因此仅会提取前100个字符。 尝试以下代码:
import requests
def infoCoin(args, total_string_length_to_send):
coinCall =requests.get("https://api.coingecko.com/api/v3/coins/"+args).json()
print(coinCall['description']['en'][:total_string_length_to_send])
infoCoin('bitcoin', 100)