【问题标题】:How do I set up a command line Python application如何设置命令行 Python 应用程序
【发布时间】:2021-03-27 18:05:28
【问题描述】:

我正在尝试向我的程序添加一项功能,用户可以在其中与程序交互以运行特定功能。但我能想到的最好的是:

while input != "Exit" and input != "Quit":
    if input() == 'command' + arguments:
        Do X
    elseif input() == 'Othercommand' + arguments:
        Do Y

虽然这听起来不是一个好的解决方案。

该程序仅供我使用,因此在输入检查方面不需要安全。它也不是足够大的项目来使用 GUI(尽管我以前做过)。

该程序将是一个网络爬虫,我可以将数据输出为 JSON 文件,并读取列表以去爬取不同的网站,因此它将具有不同的功能,例如读取文件、保存文件、更新数据等。我不确定这是否是此类程序的最佳创意,因此欢迎任何有关不同创意的建议。

【问题讨论】:

标签: python


【解决方案1】:

如果您想为您的应用程序提供适当的命令行界面,argparse 就是要使用的模块。

import argparse

parser = argparse.ArgumentParser()
parser.add_argument('--name', dest='name', type=str, help='Name of the candidate')
parser.add_argument('--surname', dest='surname', type=str, help='Surname of the candidate')
parser.add_argument('--age', dest='age', type=int, help='Age of the candidate')

args = parser.parse_args()
print(args.name)
print(args.surname)
print(args.age)

Kickstart tutorial

【讨论】:

  • 我想这就是我想要的。看起来它会做我需要的。我会看看。谢谢。这是否也处理等待输入的程序,还是在我的示例中需要使用 while 循环来完成?
  • 您可以在启动应用程序时发送参数
  • python myapp.py --name monkeyboy --age 18
  • 查看 kickstart 教程,了解更多信息
  • 是否可以在启动应用程序后继续接受参数?有点像 GUI 应用程序。
【解决方案2】:

CMD Python 模块允许用户向 Python 程序输入多个命令。

【讨论】:

    猜你喜欢
    • 2012-04-10
    • 2012-05-24
    • 1970-01-01
    • 1970-01-01
    • 2021-10-25
    • 1970-01-01
    • 2020-05-11
    • 1970-01-01
    • 2015-12-11
    相关资源
    最近更新 更多