2015-02-23 123 views
0

当我跑我的Python脚本,我得到以下控制台输出:类型错误:无法返回值转换为所需类型

TypeError: can't convert return value to desired type 

该脚本除了我什么,我不知道哪里此消息来自。如何找出哪一行包含触发该消息的代码以隔离原因?

编辑:

的最小例如:

#!/usr/bin/python 
import gi 
import os 
import urllib 
import urllib.parse 
import getopt 
import sys 
from gi.repository import Gtk,WebKit 

#resolve the file url 
fileUri = 'test.html' 
fileUri = os.path.realpath(fileUri) 
fileUri = urllib.parse.ParseResult('file', '', fileUri, '', '', '') 
fileUri = urllib.parse.urlunparse(fileUri) 

def navrequest(thisview, frame, networkRequest): 
    address = networkRequest.get_uri() 

    if not fileUri in address: 
     md = Gtk.MessageDialog(win,0,Gtk.MessageType.INFO, Gtk.ButtonsType.CLOSE, "Not allowed to leave the site!") 

     md.run() 
     md.destroy() 
     view.open(fileUri) 

view = WebKit.WebView() 
view.connect("navigation-requested", navrequest) 

sw = Gtk.ScrolledWindow() 
sw.add(view) 

vbox = Gtk.VBox() 
vbox.add(sw) 

win = Gtk.Window() 
win.set_size_request(800, 600) 
win.connect("destroy", Gtk.main_quit) 
win.set_title("TypeErrortest") 
win.add(vbox) 
win.show_all() 

view.open(fileUri) 
Gtk.main() 

test.hmtml:

<!DOCTYPE html> 
<html> 
<head> 
    <meta charset="UTF-8"> 
    <title>Title of the document</title> 
</head> 
<body> 
    <h1>Test</h1> 
</body> 
</html> 

完整的控制台输出:

[me ~]$ ./testTypeError.py 
TypeError: can't convert return value to desired type 
[me ~]$ 

操作系统:Arch Linux的

版本:3.4.2的Python

+0

你可以添加脚本到你的问题吗? – HavelTheGreat 2015-02-23 18:17:30

+0

这是错误信息的全部吗?紧接之前的行应该包含堆栈跟踪。 – jwodder 2015-02-23 18:17:34

+0

向我们显示代码。 – jramirez 2015-02-23 18:17:39

回答

1

功能处理信号的返回值是问题。将return 0添加到navrequest函数使消息消失。

相关问题