"不知道如何转换参数" Python中的错误

时间:2017-04-24 10:32:53

标签: python python-3.x itertools

当我运行以下代码时,我得知"不知道如何转换参数"错误。我正在努力削减我的名字。请帮助。

import ctypes
from itertools import islice

i = "sakthi srinivasan"
sliced_text =  islice(i, 0, 6)
ctypes.windll.user32.MessageBoxW(0, sliced_text, "MsgBox", 0)

1 个答案:

答案 0 :(得分:0)

MessageBoxW的第二个参数是字符串 1 。函数itertools.islice返回i中字符的迭代器。由于ctypes无法弄清楚如何将其强制转换为字符数组,因此会抛出错误"不知道如何转换参数......"。

您可以将迭代器转换为带有''.join(sliced_text)的字符串,但这里最好的方法是使用i[0:6]作为第二个参数传递Python字符串中内置的切片。这是在Python中获取子字符串的标准方法。

<小时/> 1 从技术上讲,LPCTSTR可以是const char*const wchar_t*,具体取决于您是否使用UNICODE配置进行编译。