11

特定のユーティリティを呼び出すコマンドラインから一連のコマンドを作成しています。具体的には:

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 モジュールを使用したことがありませんが、おそらくそれが私が探すべき場所であると思われますか?

4

2 に答える 2

3

subprocess を使用すると、コマンドライン コマンドを簡単に実行して、出力またはエラーが発生したかどうかを取得できます。

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')

戻り値を並べ替えても問題ありません。

于 2013-02-19T14:13:23.507 に答える
1

サブプロセスを使用します。

例:

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

>>> subprocess.call("exit 1", shell=True)
1
于 2013-02-19T14:13:00.603 に答える