在Unix shell中,如果我想要组合stderr并stdout进入stdout流进行进一步操作,我可以在命令的末尾添加以下内容:
2>&1
Run Code Online (Sandbox Code Playgroud)
所以,如果我想head在输出上使用g++,我可以这样做:
g++ lots_of_errors 2>&1 | head
Run Code Online (Sandbox Code Playgroud)
所以我只能看到前几个错误.
我总是很难记住这一点,而且我不得不去查阅它,主要是因为我不完全理解这个特殊技巧的语法.
有人可以打破这个并按字符解释具体2>&1 意义吗?
我必须执行一个Python脚本,该脚本会将大量数据提取到数据库中。当我使用命令运行项目时,它工作正常php artisan serve,但是在调用下面给出的公用文件夹URL之后,它抛出了错误
localhost/project/public
Run Code Online (Sandbox Code Playgroud)
错误:
命令“ python /opt/lampp/htdocs/laravel/projectname/beta/projectname/public/python/pubmed_abstract/pubmed_engine.py'{“ term”:“ cancer”}'“”失败。
退出代码:1(一般错误)工作目录:/ opt / lampp / htdocs / laravel / infocytosis / beta / infocytosis / public输出:
===============错误输出:===============
追溯(最近一次通话):文件“ /opt/lampp/htdocs/laravel/projectname/beta/projectname/public/python/pubmed_abstract/pubmed_engine.py”,第5行,来自Bio import Entrez ImportError:没有名为Bio的模块
我使用的代码:
$python_path=public_path().'/python/doom_abstract/doom_engine.py';
$variables='{"term":"'.addslashes($request->term).'"}';
$process = new Process("python $python_path '$variables'");
$process->run();
return redirect()->back()->withMessage('Filter saved successfully');
Run Code Online (Sandbox Code Playgroud) 我正在尝试在 Laravel 5.8 项目中执行 python 脚本,但我在使用 Symfony/process 类时遇到问题。
基本上,我想运行这个 python 脚本,它从存储文件夹中获取一个 excel 表单。
我的第一次尝试是这个
$process = new Process('C:\Python\python.exe C:\Users\"my path"\laravel\storage\app\images\cargaExcel.py');
$process->run();
if (!$process->isSuccessful()) {
throw new ProcessFailedException($process);
}
echo $process->getOutput();
Run Code Online (Sandbox Code Playgroud)
错误是
Fatal Python error: _Py_HashRandomization_Init: failed to get random numbers to initialize Python
Run Code Online (Sandbox Code Playgroud)
我也试过shell_exec(), 如果这两个文件(excel 和 python 脚本在公共路径 - app/public 中)它可以工作。
我认为问题是python只在app/public文件夹上执行,所以我不知道如何在另一个路径中运行它。
Python 输出告诉我:
Working directory: C:\Users\"my path"\laravel\public
Run Code Online (Sandbox Code Playgroud)
有谁知道如何运行这个?
我想知道如何使用PHP代码运行python脚本.我尝试过不同的选择
$output = exec("python /var/GAAutomationScript.py");
$command = escapeshellcmd('/var/GAAutomationScript.py');
$output = shell_exec($command);
Run Code Online (Sandbox Code Playgroud)
但无法运行python脚本.我的申请是在Laravel.是否可以使用Laravel调度程序作业运行python脚本,例如使用artisan命令?