要启动一个Python脚本(它是需要用于运行OLED显示器)从终端,我必须使用下面的bash命令:python demo_oled_v01.py --display ssd1351 --width 128 --height 128 --interface spi --gpio-data-command 20。之后的那些参数.py很重要,否则,脚本将以默认设置运行,而在我的情况下,脚本将不会以默认设置启动。因此,需要那些参数。
python demo_oled_v01.py --display ssd1351 --width 128 --height 128 --interface spi --gpio-data-command 20
.py
当我需要从另一个python脚本启动脚本(而不是在终端上使用bash命令)时,就会出现问题。从父脚本启动我的python脚本之一。我用过了:
import subprocess # to use subprocess p = subprocess.Popen(['python', 'demo_oled_v01.py --display ssd1351 --width 128 --height 128 --interface spi --gpio-data-command 20'])
在我的父脚本中,但出现错误说明:
python: can't open file 'demo_oled_v01.py --display ssd1351 --width 128 --height 128 --interface spi --gpio-data-command 20': [Errno 2] No such file or directory
我怀疑在--display ssd1351 --width 128 --height 128 --interface spi --gpio-data- command 20之后添加参数 .py可能会导致启动脚本困难。如前所述,这些参数对于我来说是必不可少的,包括在终端上使用bash命令启动时。如何使用带有必需参数的子进程来启动此脚本?
--display ssd1351 --width 128 --height 128 --interface spi --gpio-data- command 20
该subprocess库正在解释您的所有参数,包括demo_oled_v01.py作为python的单个参数。这就是python抱怨无法找到具有该名称的文件的原因。尝试将其运行为:
subprocess
demo_oled_v01.py
p = subprocess.Popen(['python', 'demo_oled_v01.py', '--display', 'ssd1351', '--width', '128', '--height', '128', '--interface', 'spi', '--gpio-data-command', '20'])
在此处查看有关Popen的更多信息。