【问题标题】:How to make a python cmd module command that runs python code如何制作运行python代码的python cmd模块命令
【发布时间】:2021-02-26 04:41:24
【问题描述】:

所以我在搞乱python的“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 . . .')

【问题讨论】:

    标签: python


    【解决方案1】:

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

    【讨论】:

    • 感谢您的建议,但这不是我问题的答案。
    【解决方案2】:

    这个怎么样: 而不是运行你的程序来打开一个shell,这个shell可以同时接受python命令和你自己的命令, 运行 python shell,导入你的程序模块——你有可以运行 python 代码的本机 python shell。 通过实现可以从 shell 调用的 cmd(args) 之类的函数来添加对其他命令的支持。您可能需要处理您的模块,通过为现有函数等提供“@aliases”来简化在交互式 python shell 中的使用。

    【讨论】:

      【解决方案3】:

      使用 do_shell 函数,您可以将它与“!”一起使用句法。例如

      > !print("Henlo world")
      

      这会打印出来,你也可以使用其他命令。

      【讨论】:

        猜你喜欢
        • 2021-08-19
        • 1970-01-01
        • 2019-06-28
        • 1970-01-01
        • 1970-01-01
        • 2011-07-12
        • 1970-01-01
        • 1970-01-01
        • 2018-02-26
        相关资源
        最近更新 更多