Laravel框架中使用Process组件包运行Python脚本
Laravel框架中使用了
Symfony\Component\Process\Process
这个依赖包,可以运行各种 CLI 的命令
Laravel中添加调用路由
//routes.php
use Symfony\Component\Process\Process;
Route::get('python', function(){
$process = Process::fromShellCommandline('python C:\test.py'); // CLI 命令
$process->run();
if (!$process->isSuccessful()) {
throw new ProcessFailedException($process);
}
// 获取脚本输出
return $process->getOutput();
});
创建Python脚本文件
#!/usr/bin/python
#-*-conding-*-
#创建文件,并写入数据:要求不能与现存系统文件重名
import os
def makefile(path,content):
if os.path.exists(path):
if os.path.isdir(path):
f = open('hello world.txt','w+')
f.write(content)
f.seek(0)
read = f.readline()
f.close()
print(read)
else:
print('please input the dir name')
else:
print('the path is not exists')
path = "C:"
content = "hello world"
makefile(path,content)
最后:
里面执行最后也是用了exec 函数,所以该函数不能被禁用
相关文章