【问题标题】:Python Argparse without command keyword没有命令关键字的 Python Argparse
【发布时间】:2012-10-25 15:12:58
【问题描述】:

所以,我想做的是 Python 代码中的 LS Mimic。

我已经完成了大部分命令,但是我有一件事我找不到解决方案

所以,如果ls 命令得到这个命令行,

ls test1

它应该找到test1 目录,然后在该目录中执行ls

但是,因为我只能找到创建需要关键字之前的参数的方法 实际使用,我找不到这样做的方法..

不可能是这样的

ls -move_dir test1

如果程序认为没有命令也没关系,它会按照上面的方式处理。 (它会找到那个目录并运行ls

请帮帮我!!

【问题讨论】:

  • argparse 支持positional arguments
  • 哦,是的,但我忘了提到位置论点是你必须有那个论点的时候。但在上述情况下,这是不正确的。无论如何,谢谢!
  • 您接受的答案是使用位置参数。我想我本可以提到您需要考虑使用nargs 参数除了 使用位置参数... :)

标签: python python-3.x argparse


【解决方案1】:

这有帮助吗?

import argparse
p = argparse.ArgumentParser()
p.add_argument('a', nargs='*')
res = p.parse_args()
print res.a

结果:

% python test.py 1 2 3
['1', '2', '3']

【讨论】:

  • 救命稻草!非常感谢!
【解决方案2】:

尝试使用sys.argv[]

【讨论】:

  • 呃.. 它可以工作,但我已经在 argparse 中实现了所有内容,我喜欢 argparse 的工作方式.. 但感谢您的回复
猜你喜欢
  • 2012-01-05
  • 2015-09-14
  • 2018-12-03
  • 2018-01-25
  • 2020-05-04
  • 2011-07-07
  • 2020-09-06
  • 2016-09-18
相关资源
最近更新 更多