在Python中创建CLI(Shell?)

5 投票
3 回答
10276 浏览
提问于 2025-04-16 10:27

我刚开始学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

谢谢!

3 个回答

1

你可以看看我个人的REPL,或许能给你一些灵感。我是在一个教程系列中写的。实际的源代码可以在这里找到。里面可能有一些你不需要的功能……不过,读一读也许会有帮助。:)

4

我觉得你现在可以使用简单的 argparse 模块来获取命令行参数了。


import argparse

from functions import delete

parser = argparse.ArgumentParser()
parser.add_argument('-f', '--file')

args = parser.parse_args()

delete(args.file)

希望这个对你有帮助。

苏尔坦

9

如果你想要一个命令行的界面,可以使用cmd这个库。它提供了用Python来创建命令行的接口。

你可以在这里查看相关文档:http://docs.python.org/library/cmd.html

撰写回答