php - 无法将 raw_input 从 php 传递给 Python

标签 php python parsing python-2.7

你好,我有一个 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/

相关文章:

php - 防止返回按钮显示 POST 确认警报

python - scrapy中没有xpath结果

python - 使用 Python 从代码库中挑选符号

c++ - Boost.Spirit语法问题

javascript - 在 Javascript 中获取查询参数的最佳方式

javascript - 使用 foreach 显示从序列化数据到数组的多封电子邮件

php - Jquery自动补全+Mysql

python - 子进程,stderr 到 DEVNULL 但打印错误

python - 直接从 pandas 数据框发布 csv 文件 (pandas to.csv)

php - 如何从 PHP 数组中获取每个键值对