你好,我有一个 Python 脚本,它将解析如下脚本,它使用 2 个输入
import urllib
import urllib2
code, num = raw_input().split(' ')
parse(num,code)
print success
exit()
现在我正在尝试使用 php 文件传递 raw_input 但它不起作用
PHP脚本是
<?php
$num="36";
$code="a";
$result = exec('python test.py "$code $num"');
echo $result;
?>
请帮帮我
最佳答案
您没有将任何内容 传递给raw_input()
。 raw_input()
从 stdin
管道读取,而不是从命令行读取。
如果您想改为从命令行读取,请使用 sys.argv
:
import sys
code, num = sys.argv[1].split()
您需要使用字符串连接来构建您的 PHP 调用:
$result = exec('python test.py "' . $code . ' ' . $num . '"');
您可以通过将两个值作为两个单独 命令行参数传递来避免在 Python 中进行拆分(此处使用引号,尽管这对于您的特定简单情况是可选的):
$result = exec('python test.py "' . $code . '" "' . $num . '"');
在 Python 中使用:
import sys
code, num = sys.argv[1:]
关于php - 无法将 raw_input 从 php 传递给 Python,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/17658009/