我正在使用Python 2.5。我导入的DLL是使用CLR创建的。 DLL函数返回一个字符串。我正在尝试将“partition”属性应用于它。我无法做到。甚至分区都不起作用。我认为“从CLR返回的所有字符串都以Unicode形式返回”。
答案 0 :(得分:2)
您可以发布错误消息吗?
你可以发布你拥有的对象类型(type(yourvar)
)吗?
请检查此对象(partition(sep)
)是否有dir(yourvar)
方法。
应用partition
方法应如下所示:
>>> us=u"Привет, Unicode String!"
>>> us.partition(' ')
(u'\u041f\u0440\u0438\u0432\u0435\u0442,', u' ', u'Unicode String!')
您还可以尝试使用split
功能代替partition
:
>>> from string import split
>>> split(us,' ',1)
[u'\u041f\u0440\u0438\u0432\u0435\u0442,', u'Unicode String!']
答案 1 :(得分:1)
如果 CLR 是.NET CLR,请尝试使用IronPython:
IronPython是在.NET上运行的Python编程语言的新实现。它支持具有完全动态编译的交互式控制台。它与.NET Framework的其余部分完美集成,使所有.NET库都可供Python程序员轻松使用,同时保持与Python语言的完全兼容性。
在IronPython中,加载(导入)和调用.NET dll已有详细记录并且直截了当。