'QString'对象没有属性'strip'?

时间:2011-10-13 00:36:44

标签: python pyqt

所以我试图在Python中使用mechanize.Browser()模块阅读网页。问题是br.open(url)不起作用,因为python在标题中返回错误。

以下是代码:

url = "http://www.myserver.com/prda.php?validate=" + licensey
readurl = br.open(url).read()

在后一行,我得到:

File "/usr/lib/python2.7/urllib.py", line 1038, in unwrap
url = url.strip()
AttributeError: 'QString' object has no attribute 'strip'

我尝试使用unicode(readurl),unicode(br.open(url).read()),readlines()而不是read(),str(代替unicode)...我得到了同样的错误,或br.open.read()

中的无输出

帮助?

2 个答案:

答案 0 :(得分:4)

我猜你正在开发一个PyQt应用程序,'licensey'是你从一些'QTextEdit'元素中获取的输入。

在您的应用程序中,'url'的类型为'QString'。并且'QString'数据类型中没有'strip'方法。由于open()方法希望您发送类型为'str'的参数,因此您只需要对变量'url'进行类型转换。

只需添加一行

即可
url = str(url)

在调用方法open(url)之前。希望这会有所帮助:)

答案 1 :(得分:0)

PyQt QString不包含strip()方法,但它有一个trimmed()方法也是如此。见这里:http://pyqt.sourceforge.net/Docs/PyQt4/qstring.html#trimmed。 PyQt中真正缺少的是变体lstrip()和rtrip()。