zoukankan      html  css  js  c++  java
  • TypeError: 'TestCase' object is not iterable

    这个异常呢其实是因为我对list没有足够熟悉

    我一开始很疑惑,明明已经正确返回testcase对象了呀,为啥会报TypeError: 'TestCase' object is not iterable这个错误 呢?

    分析:

    这个错误的意思是说TestCase这个对象是不可迭代的(注意到了吗,是TestCase,而不是testcase)

    看print(testcase)输出的结果:

    <TestCase.获取房源状态>

    再看看是哪里调用了testcase对象,在runTest(testcase)函数中

    使用for i in testcase 循环读出testcase对象当中的内容

    首先testcase = runProject("all")会返回一个列表

    我原本想是通过这句代码只取前2条数据,我以为这句代码执行后testcase = runProject("all")[2],testcase对象仍然是一个列表,但实际上这样写是只取了testcase列表中下标为2的元素,而不是testcase这个列表前2个元素了

    正确的写法应该是这样的

    testcase = runProject("all")[:2]

     举个小例子说明一下:

    for循环迭代一个列表--正常执行

                                                           
    
    In [2]: a=["a","b",123]                                                       
    
    
    In [4]: for i in a: 
       ...:     print(i) 
       ...:                                                                         
    a
    b
    123

     for循环迭代a[:2](a[:2]仍然是一个列表对象)--正常执行

    In [8]: a[:2]                                                                   
    Out[8]: ['a', 'b']
    


    In [6]: for i in a[:2]: ...: print(i) ...: a b

      for循环迭代a[2](a[2]表示列表中下标为2的元素,该元素是数字123,该对象是不可迭代的)--报错了TypeError: 'int' object is not iterable

    In [9]: a[2]                                                                    
    Out[9]: 123


    In [7]: for i in a[2]: ...: print(i) ...: --------------------------------------------------------------------------- TypeError Traceback (most recent call last) <ipython-input-7-879d94b1fc77> in <module> ----> 1 for i in a[2]: 2 print(i) 3 TypeError: 'int' object is not iterable

     顺例复习一下:

    python中可以迭代的对象包括:字符串,列表,元组,字典,文件

  • 相关阅读:
    CMake学习笔记
    右键添加"在此处打开命令窗口"菜单
    设置默认python模块源
    添加到附加组
    Unity宏处理
    挂载windows共享文件夹
    MacOS长按无效问题
    中文Locale
    笔记本用作无线路由器
    C# Winfrom iTextSharp 导出pdf 带二维码 表格嵌套 简单Dome
  • 原文地址:https://www.cnblogs.com/kaerxifa/p/11052554.html
Copyright © 2011-2022 走看看