【问题标题】:Creating a CLI (Shell?) in Python在 Python 中创建 CLI(Shell?)
【发布时间】:2011-01-23 07:55:41
【问题描述】:

我是 Python 的新手,但我必须为学校实现一个 Python 语言的命令行解释器,但我有点迷茫如何做到这一点。

我已经阅读了一些教程并创建了一个名为 functions.py 的简单文件,其中包含一些简单的函数,如下所示:

def delete(loc):
    if os.path.exists(loc) == True:
        os.remove(loc)
        print "Removed"
    else:
        print "File not exists"

现在..这是事情..为了使用它,我必须将它导入python命令解释器中,比如...

import functions
functions.delete("file to delete")

我怎样才能制作一个 Shell/CLI,这样我就不必编写所有这些了,我可以这样写:

delete file_name

谢谢!

【问题讨论】:

  • 我认为我对“CLI”的定义有些不同。您想为小型“编程语言”(DSL)编写解释器,对吧?

标签: python command-line-interface


【解决方案1】:

或者如果你想要一个 cmd shell,你可以使用 cmd 库。它提供了 python 接口来制作命令行。 http://docs.python.org/library/cmd.html

【讨论】:

    【解决方案2】:

    我认为你现在应该使用简单的argparse 模块来获取命令行参数

    import argparse from functions import delete parser = argparse.ArgumentParser() parser.add_argument('-f', '--file') args = parser.parse_args() delete(args.file)

    希望这对你有用

    苏丹

    【讨论】:

    • 只需添加执行位 chmod +x delete.py 并运行它 ./delete -f SOME_FILE
    【解决方案3】:

    您可能想查看我的个人 REPL 以获得一些灵感。我在a tutorial series 期间写的。实际来源可以在here 找到。它可能会做一些你不需要的事情......但它仍然是一本好书。 :)

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2020-09-26
      • 1970-01-01
      • 2011-04-10
      • 2018-05-19
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多