用Python创建CLI(Shell?)

5

我很新手在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)编写解释器,对吗? - AndiDog
3个回答

9

4

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


import argparse

from functions import delete

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

希望这对你有用。

Sultan


在执行 chmod +x delete.py 后运行 ./delete -f SOME_FILE。 - sultan

1
你可能想要查看我的个人REPL以获取一些灵感。我在教程系列期间编写了它。实际源代码可以在这里找到。它可能会做一些你不需要的事情...但仍然是一个不错的阅读材料。 :)

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接