gpt4 book ai didi

python-2.7 - 在 Python 中通过 CGI 传递命令行参数

转载 作者:行者123 更新时间:2023-12-02 03:36:37 25 4
gpt4 key购买 nike

OS X 10.7.5、Python 2.7、Firefox 28.0

我有一个捕获四个参数的 HTML 表单。

我有一个带有四个命令行参数的 Python 文件。

我想要的是当我点击表单上的“提交”按钮时,使用四个参数调用 Python 文件,就像我在命令行上完成的一样:

vmsmith$ ./file.py arg1 arg2 arg3 arg4

我天真地尝试在 <form ... action="./file.py"> 中引用 Python 文件, 但我有一个 Firefox 框问我是否要打开 ./file.py在 Xcode 中。

我怀疑我必须调用 ./file.py在中间 CGI 脚本中的某处,但我已经搜索了网络,但找不到任何示例或说明如何执行此操作。

在上下文中,我没有运行 Apache;相反,我正在运行我在这里找到的一个简单的 Python CGI 服务器:http://pointlessprogramming.wordpress.com/2011/02/13/python-cgi-tutorial-1/ .我用 HTML 表单运行了一些简单的 CGI 脚本,并验证了服务器、HTML 文件和 CGI​​ 脚本都可以正常工作。

具体来说,给定一个包含四个输入字段的 HTML 表单,以下 CGI 脚本有效:

#!/usr/local/bin/python

import cgi
import cgitb
cgitb.enable()

form = cgi.FieldStorage()

val1 = form.getvalue('arg1')
val2 = form.getvalue('arg2')
val3 = form.getvalue('arg3')
val4 = form.getvalue('arg4')

我可以在网页上打印所有四个传递的值,但同样,我的想法是调用 file.py和他们在一起。

最佳答案

1) file.py 可以变成 CGI 脚本,例如通过将 CGI 脚本代码与 file.py 中使用变量 val1 val2 val3 和 val4 执行某些操作的部分相结合。那么<form ... action="./file.py">将工作,但您将无法以通常的方式在命令行上使用参数运行 file.py。

2) 或者,file.py 可以保持不变并从您的 CGI 脚本中调用,如下所示:

import os
os.system('python file.py' + ' ' + val1 + ' ' + val2 + ' ' + val3 + ' ' + val4)

关于python-2.7 - 在 Python 中通过 CGI 传递命令行参数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23001851/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com