如何在python-apache-ubuntu服务器中将此代码作为网页运行?

时间:2015-05-05 03:29:50

标签: python ubuntu apache2 mod-python

此代码段在普通的python解释器中工作,只是一个简单的二进制搜索。我需要添加/更改此代码才能将其作为网页运行?

def binarySearch(s,array):
first=0;
last=len(array);
midpoint=first+(last-first)/2;
midpoint=int(midpoint);
#print(midpoint);
print (first,last,array[midpoint]);
if array[midpoint]==s: return (first,last,array[midpoint]);
while midpoint>1:
    if s>array[midpoint]:
        first=midpoint;
        print (first,last,array[midpoint]);
    elif s<array[midpoint]:
        last=midpoint;
        print (first,last,array[midpoint]);
    elif s==array[midpoint]:
        return (first,last,array[midpoint]);
    midpoint=first+(last-first)/2;
    midpoint=int(midpoint);
    #print(midpoint);

return None;

dArray=range(300);

print(binarySearch(90,dArray));

1 个答案:

答案 0 :(得分:0)

&#34;改为使其在网络服务器中运行&#34;在这种情况下,这并不意味着什么。你的代码(好吧,你必须修复它以便它实际运行而不是引发异常,但让我们假装你这样做)将只能用作CGI或mod_python脚本。您print(或以其他方式写入stdout)的所有内容都将成为浏览器看到的响应。

您可能需要在程序顶部添加#!/usr/bin/env python3或类似功能 - 如果您想在shell中使用./hello.py而不是{{}}运行它,就像您需要一样{1}}。然后,只需配置您的服务器。如果将Apache配置为允许python3 hello.py目录中的CGI,并使用模式755将脚本复制到该目录,则浏览到/cgi-bin/的任何人都将返回文本http://myserver.example.com/cgi-bin/hello.py。如果您将Apache配置为使用Hello, world!而不是CGI运行.py脚本,那么现在您将看到完全相同的事情,除非您的服务器上的速度稍快或负载稍轻。