2014-01-10 12 views
1

我有一個python GUI應用程序(wx)能夠用備用擴展名(.giz)打開zip文件。Python凍結的應用程序文件類型

def GetGIZData(self, filepath): 
    #{extract the zip to a temp dir and read the files} 
    pass 

我的問題是這樣的:如果我有位於C文件:\ InputFile.giz,我如何才能在手柄上的「C:\ InputFile.giz」從Windows時凍結Python應用程序我雙擊InputFile.giz? (本質上我正在尋找複製雙擊Word文檔並顯示文件的功能,除了我自己的應用程序和我自己的文件類型。)

我已閱讀關於how to register a file type with an application的文檔,但我似乎無法找到關於如何獲取在python應用程序中單擊的文件的文件路徑的任何信息。

任何想法?

+1

giz?你知道,人們可能會得到錯誤的想法。 –

+0

問題是你不知道['sys.argv'](http://docs.python.org/2/library/sys.html#sys.argv),或者它沒有出現在' sys.argv'是因爲'wx'在啓動後正在做一些接受文件的事情,並且你不知道這個功能是什麼? – abarnert

+0

@MarceloCantos:這是一個很難的「g」。 ;-) – nickvans

回答

2

如果您的應用在啓動後沒有註冊接受文件,雙擊.giz文件將運行程序的新副本,文件路徑作爲第一個參數。這意味着它將作爲sys.argv[1]提供給您的腳本。

wx也使得可作爲wx.App對象的argv屬性參數相同的列表,但實際上並不是在Python version of the class記錄,因爲這是不必要的IIRC。

+0

非常感謝!我感謝您的幫助! – nickvans