从服务器运行Python代码?

时间:2009-07-14 14:10:25

标签: python

问题:从服务器运行one.py.

错误

当我尝试在Mac中执行此操作时,我收到错误:

$python http://cs.edu.com/u/user/TEST/one.py                       ~ 
/Library/Frameworks/Python.framework/Versions/2.5/Resources/Python.app/Contents/MacOS/Python: can't open file 'http://cs.edu.com/u/user/TEST/one.py': [Errno 2] No such file or directory

one.py就像:

print 1

当我在Ubuntu中这样做时,我得到“找不到文件”。

问题:如何从服务器运行Python代码?

7 个答案:

答案 0 :(得分:3)

据我所知,标准Python shell不知道如何执行远程脚本。尝试使用curlwget检索脚本并从本地副本运行它。

$ wget http://cs.edu.com/u/user/TEST/one.py
$ python one.py

更新:根据question注释中引用的this answer,您需要根据来自最终用户的传入HTTP请求执行one.py。最简单的解决方案可能是CGI,但根据您还需要做什么,更强大的解决方案可能涉及某种framework。他们每个人都有优点和缺点,因此在进入之前你应该仔细考虑你的要求。

答案 1 :(得分:3)

你不能这样做。如果您具有对服务器的SSH访问权限,则可以使用SSH连接运行位于服务器上的python脚本。如果您想在python google python web框架中编写网站,以获取如何使用Python设置和运行网站的示例。

答案 2 :(得分:1)

wget http://cs.edu.com/u/user/TEST/one.py
python one.py

答案 3 :(得分:1)

您可以使用某种文件网络(如NFS等)挂载远程服务器目录。这样就变成了本地人。

但更好的想法是你解释为什么要这样做,所以我们可以解决真正的用例。根据真正的问题,最有可能出现大量更好的解决方案。

答案 4 :(得分:1)

python解释器不知道如何从URL读取。该文件必须是本地的。

但是,如果您尝试让服务器执行python代码,则可以使用mod_python或各种CGI。

你不能按照尝试的方式做你想做的事。

答案 5 :(得分:1)

也许是这样的?

python -c "import urllib; eval(urllib.urlopen(\"http://cs.edu.com/u/user/TEST/one.py").read())"

答案 6 :(得分:1)

好的,现在当你解释时,这是一个新答案。

您使用

运行该脚本
 python one.py

这是一个服务器端脚本。它在服务器上运行。它也位于服务器上。为什么你试图通过http访问它是超出我的。从文件系统运行它。

虽然,你应该考虑运行Grok或Django等等。这样你最终会编写自己的Python Web框架,你也可以使用一个存在的框架。 ;)