如何创建一个运行python代码的python cmd模块命令



所以我在摆弄"cmd"模块,我想要一个命令,你可以输入"python"然后打开一个python命令行。有点像实际的命令行。

这是我当前的代码。

import cmd
class pythonCmd(cmd.Cmd):
def do_(self, args):     # <--- I want this command to have it so you don't type a key word
exec(args)
class cmdLine(cmd.Cmd):


def do_python(self, args):
prompt = pythonCmd()
prompt.prompt = 'python> '
prompt.cmdloop('Python 3.8.2')


prompt = cmdLine()
prompt.prompt = '> '
prompt.cmdloop('Command line starting . . .')

我不知道你是否必须使用cmd模块。但是有类似cmd的更好的模块。子进程、操作系统等模块。我最近用的子进程模块,试试吧。

这样:不要运行你的程序,它会打开一个shell,可以接受python命令,也可以接受你自己的命令,运行python shell,导入你的程序模块——你就有了可以运行python代码的本地python shell。通过实现可以从shell调用的cmd(args)之类的函数来添加对其他命令的支持。你可能需要在你的模块上工作,以简化在交互式python shell中使用它,通过为现有函数等提供@aliases。

使用do_shell函数可以使用"!"语法。例如

> !print("Henlo world")

这将打印它,您也可以使用其他命令。

最新更新