我正在尝试(未成功)将命令行参数传递给由 javascript XMLHTTPRequest 调用的 python 程序。在我的 python 程序中,我使用了sys.argv
和getopt
,argparse
它们在从命令行运行时都可以工作,但在从 Javascript 脚本调用时则不行。在我的 Javascript 程序中,我尝试过:
xhr.open('GET', 'https://solarpredictor.co.uk/test.py?solcast&full&graph', true);
xhr.open('GET', 'https://solarpredictor.co.uk/test.py?s=solcast&f=full&g=graph', true);
和
xhr.open('GET', 'https://solarpredictor.co.uk/test.py?solcast', true);
这些都不起作用。在每种情况下,py 程序都找不到参数。
在 XMLHTTPRequest 中调用时,如何让 python 程序检索参数?
无论如何,这是我的 Python 程序:
#!/usr/bin/python3
import sys
solcast = False
full = False
graph = True
print("len = ",len(sys.argv))
for x in range(1,len(sys.argv)):
param = sys.argv[x]
print(param)
if param == 'solcast':
solcast = not solcast
elif param == 'full':
full = not full
elif param == 'graph':
graph = not graph
print(solcast,full,graph)
您没有传递命令行参数。您没有在命令行上运行脚本。
您有某种方式将 HTTP 服务器与 Python 代码连接起来。上次我研究 Python 时,普遍认为最好的方法是 WSGI,但也可以使用其他方法,例如 mod_python 和 CGI。(您的评论表明您正在使用 CGI)。
这些接口的通用 Python 库具有从请求 URL 读取查询字符串的函数。