如何在服务器上 运行 .py 文件?

How to run .py files on server?

如何 运行 服务器上的 .cgi 文件? 当 运行ning python 脚本和 html 形式时,我遇到了一个主要问题,因为浏览器在浏览器 window 上显示了源代码。 如何在服务器端通过 运行ning html 打印输出而不将其暴露给客户端的浏览器?

尝试使用流行的 python 网络框架 django。欲了解更多信息,请访问 https://www.djangoproject.com/

我找到了问题的答案: 第 1 步:将 python 文件命名为 .cgi 而不是 .py.py 文件仅在 python 终端内 运行 或者如果您可以编辑服务器配置文件显示 .py 文件扩展名,就好像它们是 .cgi files.If 你没有那个权限你可以使用 .cgi 作为 运行 的文件扩展名] python 在您的服务器上并在客户端打印输出。

注意:您可以在服务器端使用您的 python 代码,但您不可能在客户端使用 运行 它,所以始终知道你在做什么 .cgi gives you that power 第 2 步:将 .html 代码与 python 代码链接,只需将 .cgi 文件的 link 赋给表单元素的 action 属性即可。见下文:-

<form action="server_action.cgi">
<input name="Message" type="input">
</form>

这只是一个示例,我还没有 link编辑上面的真实 .cgi 文件。
注意:要在同一个 html 页面中打印您的输出,只需使用此代码
print('Content-Type:text/html')
print()
print(在上面两行之后,只需复制并粘贴您的 html 代码到括号内)
功能。只需复制并粘贴上面的代码即可查看其工作原理。
注意 " 应该在括号内写成 \" 否则 python 将在整个代码呈现之前关闭它的打印 " 。它还会在客户端产生错误。

第 3 步:(最重要)处理:此步骤是 python 函数发挥其作用以理解用户在输入和携带中所说的内容的地方随心所欲地输出。我在下面写了一个例子不要运行这里的代码它不会产生输出因为PYTHON库没有安装在WhosebugS EDITOR上。[SKIP THIS CODE BELOW IF YOU ALREADY HAVE XAMPP INSTALLED AND KNOW HOW TO RUN CGI FILES ON IT]
安装https://www.apachefriends.org/index.html XAMPP 如果您没有托管服务器。 运行 Python in xampp for windows 以下是如何为 运行ning .cgi 文件设置 xampp 的说明:

  STEP-1:[Download Python]

  Download & install the latest version of python from www.python.org Download 
  Python & click on the windows installer of any version [ex. python-3.6.2]

  STEP 2: [Install Python] Install in any directory of your harddrive [ex. 
  D:\python-3.6.2]
  Click on config button just right to the Start Button and open `httpd.conf` 
  file and make the changes as said in the linked post BELOW  ⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇⬇ 
  [RUN PYTHON SCRIPTS WITH XAMPP][1]

Running Python scripts with Xampp
server_action.cgi 的代码,我在 XAMPP Note that #!C:\Python39\python.exe 的安装在代码的开头使用。这是你的 python 解释器的位置(尽管如果你的服务器提供自己的库来解释 cgi 文件则不需要)

#!C:\Python39\python.exe
import cgi
import cgitb
import cgitb
cgitb.enable()
import cgitb
cgitb.enable(display=0, logdir="/path/to/logdir")
print("<TITLE>CGI script output</TITLE>")
print("<H1>This is my first CGI script</H1>")
print("Hello, world!")
print("""<form action="server_action.cgi">
<input name="Message" type="input">
</form>""")
form = cgi.FieldStorage()
text=form["Message"].value 
#'Message' is the value of my 'name' attribute used in my <input name=""> tag
Use 
print("""
this 
format
""") to print multiple lines in one print output. 

如何在客户端上隐藏 python 错误显示 side/browser?
在上面的代码片段中,我使用了一行来防止在客户端上显示错误您用户的浏览器 window。

如果您认为在浏览器上很容易看到错误,您可以关闭它 window 而不是打开另一个目录。
请参阅下文以了解我在说哪一行:-
  import cgitb
  cgitb.enable(display=0, logdir="/path/to/logdir")


  This was used 
  to prevent displaying error on the clients browser if any occured.
  ```/path/to/logdir``` is the path where you want to store the error that was 
  prevented directly on the browser window ```display=0```