用python通过URL调用远程程序

时间:2010-10-18 17:08:37

标签: python url

我正在使用wxPython框架在python中开发GUI来启动多个子进程程序。现在我可以为本地文件执行此操作,例如如果我们在路径“/AAA/BBB/xxx.out”下有一个已编译的.out文件,我可以使用这样的命令:

subprocess.Popen("/AAA/BBB/xxx.out", stdout=subprocess.PIPE)

现在,我正在考虑开发以下两个与URL相关的远程功能,仍然将它们称为子进程(因为主进程是GUI),但我不知道该怎么做在python中。

1)如果.out文件的url是如何启动程序的?例如给定http://www.ABC.com/xxx.out

2)如果启动该程序,给定此.out文件的源代码的url(例如http://www.ABC.com/xxx/src/包含C ++源代码和程序的makefile)

可以使用哪种python模块以及可能涉及哪些潜在问题?通常,实现这两个功能的正确方法是什么?

非常感谢任何建议或示例代码(这将非常有用)!!

2 个答案:

答案 0 :(得分:0)

要将此在线文件作为子程序从程序中加载,您将不得不将其下载到临时位置。只需使用urllib2模块与http://docs.python.org/library/tempfile.html一起下载文件即可为其创建临时占位符。你可以执行它。

答案 1 :(得分:0)

您的问题有两个非常独立的部分:如何从远程URL获取文件,以及如何执行它。

您似乎已经涵盖了第一部分,因此只需谷歌如何使用Python下载文件。您还可以使用现有的文件下载程序完成任务(您已完成执行的子进程部分),或者更好的是现有的Python模块。

现在,给定源代码的URL,...源代码是什么?我的意思是,如果它是python,你可以在解释器中运行它,但是你可能需要用其他语言编译源代码,这可能有依赖性和其他复杂性。