通过打开Windows命令行,通过php执行python脚本

时间:2017-08-27 12:15:05

标签: php python cmd

我已经完成了我的Python脚本编写工作,它在命令行中完美运行。

我的代码:

#!C:/Python36/python
import csv
import sys
import cgi
import cgitb
import re
import webbrowser

cgitb.enable()

data = {i[0]:i[1:] for i in csv.reader(open('students.csv'))}
data2 = {j[0]:j[1:] for j in csv.reader(open('subjects.csv'))}

i = 0
while i == 0:
    Name = input("Please provide your name (q to quit): ")
    if Name == 'q':
        i = 1
    else:
        Subject = input("Please provide your Subject: ")
        if Subject in data[Name]:
            if Subject in data2.keys():
                print ("you are registered - your VM is)
                url = str(data2[Subject])
                url2 = re.search("(?P<url>https?://[^\s]+)", url).group("url")
                url2 = url2[:-2]
                webbrowser.open(url2)
            else:
                print("The VM for the subject doesn't exist")
        else:
            print("you are not registered")

我需要做的最后一步是将此脚本调整到我的Web界面。我真的不熟悉php所以我无法在php中重写这个脚本所以我试图直接从php执行这个脚本,使其在浏览器中使用:

<?php 
$command = escapeshellcmd('python C:\\wamp64\\wwww\\test.py');
$output = shell_exec($command);
echo $output;
?>

<?php 
echo shell_exec('python c:\\wamp64\\www\\test.py');
?>

第一个没有显示任何东西,而第二个给我一个错误,因为&#34;输入&#34;功能所以我试过这个:

<?php 
$Name = '';
echo shell_exec('python c:\\wamp64\\www\\test.py $Name');
?>

它仍然无效。 Error

我分析了类似的问题,但没有真正找到解决方案。因此,我提出了解决方案 - 当我按下&#34;提交&#34;按钮,它应该为我打开Windows命令行。 Example

使用shell_exec的第二个PHP代码应该可以工作,但显然它不起作用,因为python和php之间的兼容性问题。 顺便说一下,我为python脚本设置了所有权限和系统路径 我已经搜索了很多解决方案但是并没有真正成功。

您能否给我任何想法,或者可以做出&#34;输入&#34;用php正常运行吗?

谢谢。

0 个答案:

没有答案
相关问题