Python String方法模糊

时间:2012-01-20 00:09:45

标签: python string

我正在尝试拆分从Interactive Broker的API的Python实现返回的字符串,但我一直得到:

AttributeError: 'TickPrice' object has no attribute 'split'

def my_price_handler(msg):
    fields=msg.split()
    print fields[0]

检查API代码和(1)msg是一个字符串,(2)'split'未在别处重新定义。 Msg字符串看起来像这个<Tick Price tickerId=1, field=1, price=74.0, canAutoExecute=1>,可以直接打印到控制台。使用语法时出现相同的错误消息:

def my_price_handler(msg):
    fields=string.split(msg)
    print fields[0]

我在程序的顶部导入了字符串。

这是一个可变范围问题吗?

2 个答案:

答案 0 :(得分:4)

显然,msg在输入my_price_handler 不是字符串;它是TickPrice。放

print(type(msg))
split致电之前

说服自己这个事实。

msg可以打印的事实并不意味着它是一个字符串,如果这是你的想法。)

答案 1 :(得分:1)

TickPrice似乎是一个类。 msg是所述类的实例,它具有__repr__方法,允许您print到控制台,生成:

<Tick Price tickerId=1, field=1, price=74.0, canAutoExecute=1>