所以我试图在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()
中的无输出帮助?
答案 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()。