2015-11-05 49 views
-2

我想與.foobar設置的所有文件的默認程序的文件擴展名的Python程序,我有以下問題:打開文件與Python程序

  1. 我需要分配.py.pyc文件作爲默認程序打開.foobar文件?
  2. 如何在Python程序中獲取文件名?

我想在Windows中通過雙擊文件名來打開我的腳本中的文件。

+0

所以,你想在'something.foobar'啓動您的Python腳本雙擊? – jonrsharpe

+0

谷歌搜索「Python中的命令行參數」。這個問題已經回答了很多次。 –

+0

@jonrsharpe是 – Matthias

回答

0

這裏有快速解決方案

首先:Python文件是一個腳本,而不是一個exe ...所以你直接無法使用編譯器生成EXE。如果可以,請糾正我。 http://www.py2exe.org/

第二種方法:(稍差的方法) 您需要安裝位置的exe執行機器上蟒。 假設在C#或其他語言中,您可以製作在單擊時執行python腳本的exe文件。 見例如

//in the main function 
ProcessStartInfo startInfo = new ProcessStartInfo(); 
startInfo.CreateNoWindow = false; 
startInfo.UseShellExecute = false; 
startInfo.FileName = "c:/python27/python.exe"; 
startInfo.WindowStyle = ProcessWindowStyle.Hidden; 
//your script path 
startInfo.Arguments = "myalgorithm.py filenametodisplay.myext"; 
using (Process exeProcess = Process.Start(startInfo)) 
{ 
    exeProcess.WaitForExit(); 
} 
0

第三種方法(見@Saad阿卜杜拉對其他可能性的答案)

而是編譯一個.exe運行在Windows Python腳本的。這也假定你已經在目標機器上安裝了Python。但不需要重新編譯或.dll's。

  1. 創建.bat文件:

    蟒 「path_to_py.py」 %1

    暫停

%1經過.bat文件的第一命令行參數(=作爲Python運行時的第二個命令行參數。 pause保持命令行打開,但使用例如pyplot東西時不需要。

  • 更新.py文件獲取.foobar文件的路徑:

    進口SYS FNAME = sys.argv中[1]

  • 在我們需要第二個命令行參數的Python腳本(因爲第一個命令行參數是Python腳本本身的路徑)。

  • 關聯的.bat文件作爲默認程序打開文件.foobar
  • +1

    是的..這也是另一種方法......但.bat可供任何用戶訪問......而在編譯方法中,您可以使用任何加密算法,如使用您的隱藏密鑰來獲取python代碼的xor ...以及程序運行它生成python代碼臨時位置,並啓動python腳本...你的腳本有點保存從用戶 順便說一句,最後它取決於你... :) –