Warning: file_get_contents(/data/phpspider/zhask/data//catemap/4/c/66.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在通过c execlp函数运行此python脚本时从python脚本返回值?_Python_C_Exec - Fatal编程技术网

在通过c execlp函数运行此python脚本时从python脚本返回值?

在通过c execlp函数运行此python脚本时从python脚本返回值?,python,c,exec,Python,C,Exec,我正在尝试通过c语言的execlp函数运行python文件。我想从python脚本返回一个字符串。有办法吗 execlp("python", "python", "sendmail.py", "test", (char*) NULL); 没有进程可以返回字符串,但一个进程可以通过各种I/O机制将多字符数据传递给另一个进程。您可能正在寻找将子进程的标准输出(或标准错误)重定向到父进程可以从中读取的管道。关于设置这样的安排,您会在这里发现许多问题。我理解您的评论,感谢您的帮助。只需使用popen(

我正在尝试通过c语言的execlp函数运行python文件。我想从python脚本返回一个字符串。有办法吗

execlp("python", "python", "sendmail.py", "test", (char*) NULL);

没有进程可以返回字符串,但一个进程可以通过各种I/O机制将多字符数据传递给另一个进程。您可能正在寻找将子进程的标准输出(或标准错误)重定向到父进程可以从中读取的管道。关于设置这样的安排,您会在这里发现许多问题。我理解您的评论,感谢您的帮助。只需使用
popen(“python sendmail.py test”,“r”)
。你当然可以做你自己的
管道
分叉
execlp
+
等待
的事情,但是为什么要麻烦呢?请注意,
execlp
将在同一过程中用python替换您的程序,因此python不可能返回任何内容。