Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/277.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
Python:在运行headless时替代stdin()?_Python_Raspberry Pi_Stdin - Fatal编程技术网

Python:在运行headless时替代stdin()?

Python:在运行headless时替代stdin()?,python,raspberry-pi,stdin,Python,Raspberry Pi,Stdin,我通过sed和awk从hcitool和hcidump传递数据,然后通过管道将数据传输到python中,python然后从stdin读取数据。这在从命令行运行时效果很好。当放入shell程序并从命令行调用时,它同样可以很好地工作 然而,当我在启动时通过cron调用shell程序并运行headless时,python程序会执行,但sed | awk中没有任何内容流入python 我读过一些关于stdin可能不会无头传输的信息,但没有找到任何具体的信息 我缺少什么?可以使用子流程而不是管道。使用she

我通过sed和awk从hcitool和hcidump传递数据,然后通过管道将数据传输到python中,python然后从stdin读取数据。这在从命令行运行时效果很好。当放入shell程序并从命令行调用时,它同样可以很好地工作

然而,当我在启动时通过cron调用shell程序并运行headless时,python程序会执行,但sed | awk中没有任何内容流入python

我读过一些关于stdin可能不会无头传输的信息,但没有找到任何具体的信息


我缺少什么?

可以使用
子流程而不是管道。使用
shell=True调用
。或者类似的东西。管道
|
是shell的一个功能,因此请确保在执行这些脚本之前运行shell。此外,当我在启动时通过cron调用shell程序并运行headless时,这真的没有任何意义。您不需要“启动时调用cron”(每隔一段时间自动调用),只有在运行X窗口或其他图形界面(与stdin
stdin
)的情况下,“无头运行”才适用。实际上,cron可以通过@reboot在启动时执行命令,所以这部分是正常的。在这种情况下,“无头”指的是设备(RPi)在没有显示器、键盘和远程会话的情况下运行。我承认我在这里可能用错了词,但我不知道还能用什么来形容它。谢谢你的管道信息。我将根据前面的评论查看信息。