1

私は自分のシェルを作ることに取り組んでいますが、ユーザーが入力したことをしたいのです。

例えば:

while 1:
    c = input()
    do c

do c で、その人が入力したコマンドを実行したい.

何か案は、

前もって感謝します!

4

2 に答える 2

1

Python 3 を使用していると仮定すると、Python 2raw_inputでは代わりに使用します

while 1:
    c = input()
    exec(c)

人々が悪意のあるコードをここに入力しないとは信じられないことに注意してください

tryこれを/でラップしてexcept、発生時にトレースバックを出力しException、ループを続行することもできます。

import traceback
while 1:
    try: 
        c = input()
        exec(c)
    except:
        print(traceback.format_exc())
于 2013-06-08T09:43:52.253 に答える
0

以下を使用できます。

システム

os モジュールの system() は、引数として指定されたコマンドを実行し、リターン コードを返します。

import os
cmd=raw_input()
os.system(cmd)    

開く

popen は、サブプロセスを作成するために使用されます。利点は、popen を使用して、実行されたコマンドの出力を読み取ることができることです。

import os
cmd=raw_input()
l=os.popen(cmd)
print l.read()
于 2013-06-08T10:02:47.557 に答える