我想與.foobar
設置的所有文件的默認程序的文件擴展名的Python程序,我有以下問題:打開文件與Python程序
- 我需要分配
.py
或.pyc
文件作爲默認程序打開.foobar
文件? - 如何在Python程序中獲取文件名?
我想在Windows中通過雙擊文件名來打開我的腳本中的文件。
我想與.foobar
設置的所有文件的默認程序的文件擴展名的Python程序,我有以下問題:打開文件與Python程序
.py
或.pyc
文件作爲默認程序打開.foobar
文件?我想在Windows中通過雙擊文件名來打開我的腳本中的文件。
這裏有快速解決方案
首先: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();
}
第三種方法(見@Saad阿卜杜拉對其他可能性的答案)
而是編譯一個.exe
運行在Windows Python腳本的。這也假定你已經在目標機器上安裝了Python。但不需要重新編譯或.dll
's。
創建.bat
文件:
蟒 「path_to_py.py」 %1
暫停
的%1
經過.bat
文件的第一命令行參數(=作爲Python運行時的第二個命令行參數。 pause
保持命令行打開,但使用例如pyplot
東西時不需要。
更新.py
文件獲取.foobar
文件的路徑:
進口SYS FNAME = sys.argv中[1]
在我們需要第二個命令行參數的Python腳本(因爲第一個命令行參數是Python腳本本身的路徑)。
.bat
文件作爲默認程序打開文件.foobar
是的..這也是另一種方法......但.bat可供任何用戶訪問......而在編譯方法中,您可以使用任何加密算法,如使用您的隱藏密鑰來獲取python代碼的xor ...以及程序運行它生成python代碼臨時位置,並啓動python腳本...你的腳本有點保存從用戶 順便說一句,最後它取決於你... :) –
所以,你想在'something.foobar'啓動您的Python腳本雙擊? – jonrsharpe
谷歌搜索「Python中的命令行參數」。這個問題已經回答了很多次。 –
@jonrsharpe是 – Matthias