2010-04-14 115 views
0

我不知道它是如何工作的,或者它甚至可能,但我想要做的是例如創建一個文件類型(讓我們設想一下.test(其中隨機文件名將是random.test) )。現在,在我繼續下去,它顯然是很容易做到這一點使用,例如:識別文件

filename = "random.test" 
file = open(filename, 'w') 
file.write("some text here") 

但現在我想知道的內容是,如果有可能,所以如果我將它設置了打開寫入文件。測試wxPython程序(直接運行(從桌面運行「random.test」)),它可以識別它並例如自動打開一個消息對話框。

+0

請仔細地定義「wxPython程序,它會識別它」。你可以簡化剩下的問題,因爲你如何創建一個文件取決於你的'wxPython'程序如何識別一個文件。 – 2010-04-14 18:57:09

+0

對於我糟糕的單詞選擇,我感到抱歉。我只是問,如果我打開.test(直接例如我在桌面上有random.test,我運行它(顯然設置爲打開與我的應用程序))文件與我的wxPython應用程序,然後它會做類似打開MessageDialog – dpswt 2010-04-14 19:07:08

回答

2

這是如何工作的,因操作系統而異,但是,AFAIK的一般規則是,如果您向操作系統註冊應用程序以識別該文件類型,則單擊該類型的一個或多個文件會導致操作系統與文件作爲參數的名稱來調用你的程序,讓你的程序將正確處理文件打開,如果它具有以下形式的命令行調用:

 
program_name [options] <file1> [<file2> ... <fileN>] 

在識別方面的文件類型的程序可以接受......在Mac OS X上,這是通過將應用程序包的「Info.plist」文件中的文件類型列在帶有密鑰CFBundleDocumentTypes的字典中來完成的。由用戶來執行關聯,但「Info.plist」中的信息決定哪些應用程序被視爲註冊的候選人。在Windows上,您需要edit the registry to associate the program with the file type,您還可以編輯註冊表爲add "verbs" (right-click menu items) for your program

+0

非常感謝您的幫助!我會盡快檢查出它們! – dpswt 2010-04-14 19:09:36