我想写
vol_id = geom.get_owning_volume("surface", 12)
我在大代码执行期间有S = 12,所以我使用
S=12
vol_id = geom.get_owning_volume("surface", "%d") %(S)
给了我一个错误
TypeError: in method 'get_owning_volume', argument 2 of type 'int'
我使用了变体
S=12
vol_id = geom.get_owning_volume("surface", "%d" %(S))
这给出了同样的错误
为什么我无法将整数12解析到所需的位置!有什么建议吗?
答案 0 :(得分:1)
从我找到的documentation,get_owning_volume
取一个字符串和一个整数,你已经有了一个整数,所以不需要转换它:
vol_id = geom.get_owning_volume("surface", S)
从评论看起来S
实际上是一个字符串,你想要一个整数,那么这应该有效:
vol_id = geom.get_owning_volume("surface", int(S))
答案 1 :(得分:1)
%
运算符用于插入字符串,而不是Python代码。您的示例是尝试传递函数期望数字的字符串"%d"
;难怪它失败了!
在您的情况下,只需将变量S
放在您需要的位置:
S=12
vol_id = geom.get_owning_volume("surface", S)