六、Python获取list个数(type 'list'类型)

要求说明:

返回值是这一串:[{"negativeListCount": 1076.0, "year":"2017"}, {"negativeListCount": null, "year":"2016"}, {"negativeListCount": 2076.0, "year":"2015"}],统计有多少个{}

类型是:type 'list'

1.     详细代码:

文件名:list_num.py

# -*- coding: utf-8 -*-

import requests

import json

 

class list_num(object):

   def __init__(self):

       pass

 

   def list_num(self,path_data):

       #print (type(path_data))  #查看类型

       #num=json.loads(path_data)  #转换json格式

       #print (len(path_data))

       return len(path_data)

2.     Robot引用:

六、Python获取list个数(type 'list'类型)

六、Python获取list个数(type 'list'类型)

3.     参见问题:

(1)、python脚本,引入之后,调用常量是ok的,但调用变量就报错了,类型不匹配TypeError: expected string or buffer

六、Python获取list个数(type 'list'类型)

六、Python获取list个数(type 'list'类型)

代码如下:

# -*- coding: utf-8 -*-

import requests

import json

 

class list_num(object):

   def __init__(self):

       pass

 

   def list_num(self,path_data):

       num=json.loads(path_data)

       print (len(num))

       return len(num)

 

(2)、检查变量类型

修改代码,查看输出的类型

# -*- coding: utf-8 -*-

import requests

import json

 

class list_num(object):

   def __init__(self):

       pass

 

   def list_num(self,path_data):

       print(type(path_data))  #查看类型

       num=json.loads(path_data)

       print (len(num))

       return len(num)

 

执行结果如下:

六、Python获取list个数(type 'list'类型)

常量是type 'unicode'类型;而变量是type 'list'类型,结果代码还用json.loads(path_data)去转type 'unicode'类型,所以才报TypeError:expected string or buffer错误

 

(3)、把json.loads(path_data)注释掉即可

# -*- coding: utf-8 -*-

import requests

import json

 

class list_num(object):

   def __init__(self):

       pass

 

   def list_num(self,path_data):

       #print (type(path_data))  #查看类型

       #num=json.loads(path_data)

       print (len(path_data))

       return len(path_data)

六、Python获取list个数(type 'list'类型)