我正在制作自己的shell,但我希望它能够做出用户输入的内容。
例如:
while 1:
c = input()
do c
通过do c我希望它然后执行该人输入的命令。
任何想法,
提前致谢!
答案 0 :(得分:1)
假设您使用的是Python 3,则在Python 2上使用raw_input
代替
while 1:
c = input()
exec(c)
注意,你不能相信人们不会在这里输入恶意代码
您可能还希望将其包装在try
/ except
中,以便在发生Exception
时打印回溯并继续循环:
import traceback
while 1:
try:
c = input()
exec(c)
except:
print(traceback.format_exc())
答案 1 :(得分:0)
您可以使用以下内容:
system()执行作为参数提供的命令并返回返回码。
import os
cmd=raw_input()
os.system(cmd)
popen用于创建子进程。优点是popen可用于读取已执行命令的输出。
import os
cmd=raw_input()
l=os.popen(cmd)
print l.read()