Mar*_*tin -1 python python-2.7 python-3.x
我有3个 variable
print(obj.col1_expense.text) #test1
print(obj.col2_expense.text) #test2
print(obj.col3_expense.text) #test3
Run Code Online (Sandbox Code Playgroud)
如何打印动态?现在我想这样做
for x in range(1, 4):
print("obj.col"+str(x)+"_expense".text)
Run Code Online (Sandbox Code Playgroud)
但它给出了错误.
AttributeError: 'str' object has no attribute 'text'
Run Code Online (Sandbox Code Playgroud)
你可以使用[Python]:getattr(object,name [,default]):
for x in range(1, 4):
print(getattr(obj, "col{}_expense".format(x)).text)
Run Code Online (Sandbox Code Playgroud)
或者,为了确保AttributeError在弄乱索引时你不会得到,你可以替换print为这个(不那么容易阅读)的表格:
print(getattr(getattr(obj, "col{}_expense".format(x), None), "text", None))
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
7630 次 |
| 最近记录: |