2015-02-23 141 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函數使消息消失。

相關問題