我有一个简单的脚本blah.py(使用Python 2): import sys print sys.argv[1] 如果我通过执行我的脚本: python c:/…./blah.py argument 它打印参数,但如果我通过执行脚本: blah.py argument 发生错误: IndexError … 所以参数不会传递给脚本。 python.exe在PATH中。 blah.py文件夹也在path。 python.exe是执行* .py文件的默认程序。 问题是什么?
有没有办法将Sublime Text设置为Windows 7文件格式的默认文本编辑器? 另外,如果有人知道一个崇高的文本教程或维基将是非常有用的。
我想要求帮助打开从关联的应用程序的C#应用程序的文件。 我试过这个: ProcessStartInfo pi = new ProcessStartInfo(file); pi.Arguments = Path.GetFileName(file); pi.UseShellExecute = true; pi.WorkingDirectory = Path.GetDirectoryName(file); pi.FileName = file; pi.Verb = "OPEN"; Process.Start(pi); 或这个: Process.Start(file); 这两个示例中的stringfile都表示试图打开的文件的完整path。 现在,除了使用ACDSee应用程序的(jpg)图像以外,一切运行良好。 Irfanview协会运作良好,微软办公文件也是如此。 试图打开与acdsee相关联的jpg图像后,它只是运行通知区域中的acdsee,并不打开该文件。 我发现,在registryCLASSES_ROOT的* .jpg图像中,有一个ACDSee.JPG值作为关联的应用程序,在这个键的下方有一个shell- > Open-> Command一个path: "C:\Program Files\ACD Systems\ACDSee\ACDSee.exe" /dde 我觉得这个怪异/dde是原因,为什么我不能打开文件。 我意识到,在相同的registry键 – >打开有一些DDEExec键值input值[open("%1")] 对于Irfan查看或其他检查的应用程序没有一个ddeexec,只是正常的命令一样 "C:\Program Files (x86)\IrfanView\i_view32.exe" "%1" 可以从命令行运行%1换文件名后运行,但我不能从命令行中的acdsee条目运行命令:( 所以我的问题是,我怎样才能设置ProcessStartInfo对象,以确保它将运行所有的文件,因为它将在双击浏览器,标准和这DDEExec的? 有没有其他的东西像我知道的DDEExec ? 感谢和抱歉我的EN
如果我试图直接从Windows命令行执行它们作为可执行命令,那么我无法获得传递给Python程序的命令行参数。 例如,如果我有这个程序(test.py): import sys print "Args: %r" % sys.argv[1:] 并执行: >test foo Args: [] 相比之下: >python test.py foo Args: ['foo'] 我的configuration有: PATH=…;C:\python25;… PATHEXT=…;.PY;…. >assoc .py .py=Python.File >ftype | grep Python Python.CompiledFile="C:\Python25\python.exe" "%1" %* Python.File="C:\Python25\python.exe" "%1" %* Python.NoConFile="C:\Python25\pythonw.exe" "%1" %*
我编写了一个编辑特定文件types的程序,我想让用户select将我的应用程序设置为此文件types的默认编辑器(因为我不需要安装程序)。 我试着编写一个可重用的方法,通过向HKEY_CLASSES_ROOT添加一个密钥,并将其与我的应用程序一起使用,为我(最好在任何操作系统上,尽pipe我正在运行Vista)关联一个文件,但它不似乎工作。 public static void SetAssociation(string Extension, string KeyName, string OpenWith, string FileDescription) { RegistryKey BaseKey; RegistryKey OpenMethod; RegistryKey Shell; RegistryKey CurrentUser; BaseKey = Registry.ClassesRoot.CreateSubKey(Extension); BaseKey.SetValue("", KeyName); OpenMethod = Registry.ClassesRoot.CreateSubKey(KeyName); OpenMethod.SetValue("", FileDescription); OpenMethod.CreateSubKey("DefaultIcon").SetValue("", "\"" + OpenWith + "\",0"); Shell = OpenMethod.CreateSubKey("Shell"); Shell.CreateSubKey("edit").CreateSubKey("command").SetValue("", "\"" + OpenWith + "\"" + " \"%1\""); Shell.CreateSubKey("open").CreateSubKey("command").SetValue("", "\"" + OpenWith + […]