如何从结果

时间:2015-11-13 20:53:34

标签: python python-2.7 python-3.x

您好我有以下代码:

Z = [ [<Entity:0*7fasdas55c:type1101(1101,NGRID)id:-2600>, <Entity:0*5fafaef45c:type1101(1101,NGRID)id:-3665>] 
, [<Entity:0*7fasdas55c:type1101(1101,NGRID)id:-5600>, <Entity:0*5fafaef45c:type1101(1101,NGRID)id:-545465>] ]

 edge1= ansa.basecollectentity(constant.nastran, Z[0],'NODE')
 print(edge1)

我的结果是

[<Entity:0*7fasdas55c:type1101(1101,NGRID)id:-2600>, <Entity:0*5fafaef45c:type1101(1101,NGRID)id:-3665>] 

虽然代码是用ansa python编写的,但我的问题是General

我想编写一个代码,使其通过&#39; edge1&#39;并使用两个不同的名称打印id之后的数字:例如

Node1 = 2600

Node2 = 3665

请提前帮助我编写代码

2 个答案:

答案 0 :(得分:1)

在ansa中说您有一个实体,例如:

nod=<Entity:0*7fasdas55c:type1101(1101,NGRID)id:-2600>

要打印ID,您可以使用:

Print(nod._id)

结果:

2600

您还可以使用._type获取要处理的实体的类型

希望有帮助

答案 1 :(得分:0)

每个类使用__repr__()特殊方法控制自己的可打印表示。

您正在查看的数字id:可能位于实体,任何字段或内部数据结构中的任何位置,或者在显示时无处计算。它可能很容易成为id属性,正如@ PM2Ring的评论所暗示的那样 - 但它可能不是。

因此,这是一个非常具体的问题 - 您需要检查实体是否有适当的字段或方法来获取ID。你还没有说出它是什么,所以这可能是什么。

或者它是关于处理repr()值的一般性问题 - 这可能不是你想要做的,真的。

但如果你真的想,那就是:

for count, item in enumerate(edge1):
    id = repr(item).split(':')[-1].rstrip('>')
    print "Node" + str(count), id