Я пытаюсь подсчитать количество пользователей внутри массива данных (см. Ниже). Как вы можете видеть, я могу успешно получить данные от response.json. Поэтому в основном я могу распечатать DATA, но мне сложно найти код для подсчета количества пользователей внутри этих данных, я знаю, что количество пользователей равно 5, но я хочу, когда добавлю дополнительного пользователя, который счет будет автоматически увеличиваться.Python подсчитывает количество данных в списке массивов из response.json
Код:
'''
security service tests
'''
import sys
sys.path.append('..')
import requests
import json
from common.constants import *
from config.settings import environment
security_environment = environment()['security_service']
service_url = "%s://%s:%d" % (
security_environment['protocol'],
security_environment['host'],
security_environment['port'])
def test1():
print "TEST 1 - get user details"
headers = {'Accept': 'application/json'}
url = "%s/users" % service_url
response = requests.get(url, headers=headers)
status_code = response.status_code
print "STATUS: %s" % status_code
print "DATA: %s" % response.json()
return status_code == HTTP_OK
if __name__ == "__main__":
num_pass = 0
num_fail = 0
for test in [test1]:
print "-----------------------------------------------------------"
if test():
num_pass += 1
print "PASS"
else:
num_fail += 1
print "FAIL"
print "==========================================================="
print "%d passed, %d failed" % (num_pass, num_fail)
Результат:
TEST 1 - get user details
STATUS: 200
DATA: [{u'status': u'enabled', u'created_at': u'2016-02-09 10:49:28', u'id': 1, u'updated_at': u'2016-02-09 10:49:28', u'name': u'bart'}, {u'status': u'disabled', u'created_at': u'2016-02-09 10:49:28', u'id': 2, u'updated_at': u'2016-02-09 10:49:28', u'name': u'lisa'}, {u'status': u'enabled', u'created_at': u'2016-02-09 10:49:28', u'id': 3, u'updated_at': u'2016-02-09 10:49:28', u'name': u'homer'}, {u'status': u'disabled', u'created_at': u'2016-02-09 10:49:28', u'id': 4, u'updated_at': u'2016-02-09 10:49:28', u'name': u'marge'}, {u'status': u'enabled', u'created_at': u'2016-02-09 10:49:28', u'id': 5, u'updated_at': u'2016-02-09 10:49:28', u'name': u'maggie'}]
PASS
===========================================================
1 passed, 0 failed
Любая помощь?
Вы просто сохранить данные 'данные = response.json()', и добавить новый словарь пользователя 'data.append (пользователь)' (Вы должны иметь пользователю dict first.) Чтобы получить количество элементов в списке, просто запустите 'len (data)'. –
, и если вы попробуете эту ленту печати (response.json())? – wu4m4n
Да, ваш ответ тоже прав, так как это сработало для меня, так это то, что я использовал data = response.json(), тогда я просто использовал ответ от другого парня (len (data)), и это сработало для меня. – julio