如何从php调用python脚本
我需要将一个值从PHP传递到Python脚本,然后Python脚本将该值写入csv文件。但是,我遇到了一些困难,我的python在调用时会写入一个空的csv文件。有什么问题吗如何从php调用python脚本,php,python,csv,python-2.x,Php,Python,Csv,Python 2.x,我需要将一个值从PHP传递到Python脚本,然后Python脚本将该值写入csv文件。但是,我遇到了一些困难,我的python在调用时会写入一个空的csv文件。有什么问题吗 <?php if (isset($_POST['data'])){ $data = $_POST['data']; $result = exec("python processData.py .$data"); echo $result; } ?> 可能是$d
<?php
if (isset($_POST['data'])){
$data = $_POST['data'];
$result = exec("python processData.py .$data");
echo $result;
}
?>
可能是$data之前的,请尝试以下操作:
$result = exec("python processData.py {$data}");
问候
$result = exec("python processData.py .$data");
如果您键入:$data=“hello little world”,可能会出现问题代码>
它会被当作
$result = exec("python processData.py .hello little world");
sys.argv将是
["processData.py",".hello","little","world"]
不幸的是,我不知道nltk将如何处理这一点,但肯定不是你想要的
旁白
d = [i.lower() for i in tokens if (not tokens in stopwords.words('english'))]
应该重写
if tokens not in stopwords.words('english'):
d = [i.lower() for i in tokens]
else: #if your actually planning on using d anywhere ... currently your just throwing it out
# not using d makes all of this just as effective as a pass statement
d = []
exec()或任何东西都没有问题。问题是nltk
模块无法定位nltk\u数据
目录。对于它,只需定位系统中存在nltk_数据的位置即可:通常是~/nltk_数据
。现在,在运行函数时导入并添加该路径
import nltk;
现在,nltk.data.path
是搜索模块的位置列表。您只需执行以下操作:
nltk.data.path.append("your location/directory");
您可以尝试在附加“a”模式下打开文件,以便不会覆盖以前的任何文件。一些与您的问题不直接相关的观察结果:您分配给d
,但不使用结果if(不是stopwords.words('english')中的标记)
不是惯用Python。如果代币不在stopwords.words('english')
中,则最好编写。即使如此,当代币仅依赖于整个代币时,他也会对代币中的每个i进行评估。。。很可能是一次大的减速,但它没有起作用。在cmd processData.py中,“我的数据”可以工作,但在php中无法工作
nltk.data.path.append("your location/directory");