我试图检查一个简单的标志是真还是假,但是我的 IF 语句失败了,它没有给我正确的结果,希望有人能帮忙!
我正在使用(在 python3.6 中)这个 url
https://bittrex.com/api/v1.1/public/getticker?market=usdt-btc
对于 get 请求,它应该返回的数据如下所示(来自浏览器中的 URL):
{"success":true,"message":"","result":{"Bid":18362.00000000,"Ask":18399.00000000,"Last":18362.00000000}}
这是我的程序:
import sys
import time
import requests
import json
import os
BTCtick = 'https://bittrex.com/api/v1.1/public/getticker?market=usdt-btc'
reqBTC = requests.get('https://bittrex.com/api/v1.1/public/getticker? market=usdt-btc').text
BTCdata = json.loads(reqBTC)
testResult = BTCdata['success']
print("=============================")
print("success content: ", BTCdata['success'])
if (testResult == 'True'):
print("IF: success flag is TRUE")
else:
print("IF: success flag is FALSE")
print("=============================")
print("result content: ", BTCdata['result'])
print("Bid: ", BTCdata['result'] ['Bid'], sep='')
print("Ask: ", BTCdata['result'] ['Ask'], sep='')
print("Last: ", BTCdata['result'] ['Last'], sep='')
print("=============================")
exit()
控制台中的输出如下所示:
=============================
success content: True
IF: success flag is FALSE
=============================
result content: {'Bid': 18420.0, 'Ask': 18439.99999999, 'Last': 18439.99999999}
Bid: 18420.0
Ask: 18439.99999999
Last: 18439.99999999
=============================
知道我在这里缺少什么吗?我确定这很简单请帮帮我,我对python有点陌生,并希望找出问题所在,过去两天我一直在阅读,但找不到问题!
json.loads()
将转换true
为 Python 的布尔值True
(参考转换表)。您只需要检查testResult
值的真实性,而不是将其与字符串进行比较'True'
:
if testResult:
print("IF: success flag is TRUE")
else:
print("IF: success flag is FALSE")
换句话说,这里就是你的时候相比发生了什么testResult
的'True'
字符串:
In [1]: testResult = True
In [2]: testResult == 'True'
Out[2]: False
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句