2015-11-05 43 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脚本...你的脚本有点保存从用户 顺便说一句,最后它取决于你... :) –