当Python脚本在PHP中运行时,它与os和glob模块一起跳转

当Python脚本在PHP中运行时,它与os和glob模块一起跳转,php,python,glob,Php,Python,Glob,我对cycle、glob和os模块有问题。 在pythonshell中,打印是打印的,但是当我将python脚本嵌入php时,它就不起作用了 下面的python通过PHP只打印“第一个”和“第二个”,但不打印“当前文件是:…” 也许我能找到另一种阅读目录的方法? glob和os模块与PHP不兼容 python: print("first") path = 'cat/tryfile' for infile in glob.glob( os.path.join(path, '*.jpg') ):

我对cycle、glob和os模块有问题。 在pythonshell中,打印是打印的,但是当我将python脚本嵌入php时,它就不起作用了

下面的python通过PHP只打印“第一个”和“第二个”,但不打印“当前文件是:…”

也许我能找到另一种阅读目录的方法? glob和os模块与PHP不兼容

python:

print("first")
path = 'cat/tryfile'
for infile in glob.glob( os.path.join(path, '*.jpg') ):
    print("current file is: " + infile )
print("second")
PHP:

$param1=“第一”;
$param2=“秒”;
$param3=“第三”;
$command=“C:\\python27\\python C:\\python27\\execprova.py”;
#第一次用popen嵌入PYTHON
$command.=“$param1$param2$param3 2>&1”;
$temp=exec($command,$return);
回声“PID”;
$pid=popen($command,“r”);
回声“;
而(!feof($pid))
{
echo-fread($256);
冲洗();
ob_flush();
美国LEEP(100000);
}
pclose(pid美元);
#使用exec进行第二次PYTHON嵌入
echo({PHP-inizio命令输出返回ed-exec/PHP});
$command=“C:\\python27\\python C:\\python27\\bp1imgesenzaprint.py”;
$output=null;
$temp=exec($command);
函数成功()
{
$mystring=exec('C:\\python27\\python C:\\python27\\bp1imgesenzaprint.py',$output);
变量转储(输出);
变量转储($mystring);
打印(输出);
}
打印(“成功”);
成功();

在CLI脚本中使用相对路径时务必小心。工作目录和
PATH
环境变量通常不是您通常期望的


在Python中,您可以将(类似于Windows/*nix的)设置为,以便可以安全地使用相对路径,或者通过硬编码或将包含的目录路径与相对文件路径连接来使用绝对路径。

在CLI脚本中使用相对路径时务必小心。工作目录和
PATH
环境变量通常不是您通常期望的


在Python中,您可以使用设置(类似于Windows/*nix),以便可以安全地使用相对路径,或者通过硬编码或将包含的目录路径与相对文件路径连接来使用绝对路径。

在Python脚本的
path
变量中使用绝对路径而不是相对路径?在Python脚本的
path
变量中使用绝对路径而不是相对路径?我主要提到了
path
个人体验:不带
shell=True的Windows下的Python 2.7
subprocess.Popen()
参数将不会与系统的
路径一起运行;通过Ubuntu的crontab运行的shell脚本也不会使用用户的
路径
,而无需进行一些修改/导入。因此,如果相对路径不是问题,那么接下来应该检查给定脚本中
PATH
变量的值。我提到的
PATH
主要是为了个人体验:在Windows的
subprocess.Popen()下,不带
shell=True的
参数将不会与系统的
PATH
一起运行;通过Ubuntu的crontab运行的shell脚本也不会使用用户的
路径
,而无需进行一些修改/导入。因此,如果相对路径不是问题,那么接下来应该检查给定脚本中
PATH
变量的值。
$param1 = "first";
$param2 = "second";
$param3 = "third";


$command = "C:\\python27\\python C:\\Python27\\execprova.py";


#FIRST PYTHON embedding with popen

$command .= " $param1 $param2 $param3 2>&1";
$temp = exec($command, $return);
echo "INIZIO PID";
$pid = popen( $command,"r");
echo "<body><pre>";
while( !feof( $pid ) )
{
echo fread($pid, 256);
flush();
ob_flush();

usleep(100000);
}
pclose($pid);


#SECOND PYTHON embedding with exec          
echo (" {PHP inizio command output return ed exec  /PHP} ");

$command = "C:\\python27\\python C:\\Python27\\bp1imgsenzaprint.py";
$output = null;
$temp = exec($command);


function success() 
{
$mystring = exec('C:\\python27\\python C:\\Python27\\bp1imgsenzaprint.py', $output);
var_dump($output);
var_dump($mystring);
print_r($output);
}

print("SUCCESS");
success();