如何从Python启动命令行命令

2024-06-23 19:08:31 发布

您现在位置:Python中文网/ 问答频道 /正文

我在命令行中发出了一系列命令,我在命令行中调用了某些实用程序。具体而言:

root@beaglebone:~# canconfig can0 bitrate 50000 ctrlmode triple-sampling on loopback on
root@beaglebone:~# cansend can0 -i 0x10 0x11 0x22 0x33 0x44 0x55 0x66 0x77 0x88
root@beaglebone:~# cansequence can0 -p

我似乎不知道(或者找不到清晰的文档)如何编写Python脚本来发送这些命令。我以前没有用过os module,但我怀疑这是我应该找的地方


Tags: 命令行命令实用程序onrootbeaglebonetriplesampling
2条回答

使用子流程,可以方便地执行命令行命令并检索输出或是否发生错误:

import subprocess
def external_command(cmd): 
    process = subprocess.Popen(cmd.split(' '),
                           stdout=subprocess.PIPE, 
                           stderr=subprocess.PIPE)

    # wait for the process to terminate
    out, err = process.communicate()
    errcode = process.returncode

    return errcode, out, err

例如:

print external_command('ls -l')

重新排列返回值应该没有问题

使用subprocess

例如:

>>> subprocess.call(["ls", "-l"])
0

>>> subprocess.call("exit 1", shell=True)
1

相关问题 更多 >

    热门问题