【问题标题】:Passing range of numbers from terminal to Python script将数字范围从终端传递到 Python 脚本
【发布时间】:2023-01-19 00:09:44
【问题描述】:

我有一个从终端执行的python脚本

script.py 0001

其中 0001 表示要运行的子案例。如果我必须运行不同的子案例,那么我使用

script.py 0001 0002

问题是如何指定一个范围作为输入?假设我想运行0001..0008。我知道 seq -w 0001 0008 输出我想要的。如何将其作为来自终端的输入通过管道传递给 Python?或者有不同的方法来完成这项工作吗?

【问题讨论】:

  • 您可以使用 0001 00080001..0008。在这两种情况下,您都需要在应用程序代码中解析它并从中创建一系列数字。
  • 好的。没有更新要加载的子案例。 script.py 000{1..8} 做这份工作
  • argparse 将帮助您将 CLI 接受到您的脚本中。您可以使用“选择”参数输入一个范围,即... choices=range(0001,0009)docs.python.org/3/library/argparse.html#choices

标签: python bash terminal sequence


【解决方案1】:
import sys
r = sys.argv[1].split("..")
for x in range(r[0], r[1]):
    # ... does this do what you want ?

【讨论】:

    【解决方案2】:

    已经尝试了以下但没有更早的工作,因为我没有在脚本回购中提取子案例。以下作品:

    script.py 000{1..8}

    【讨论】:

    • Ubuntu终端
    猜你喜欢
    • 2016-12-20
    • 2015-05-04
    • 2014-10-02
    • 2014-10-27
    • 2011-06-26
    • 2022-08-24
    • 2019-03-11
    • 1970-01-01
    • 2016-03-31
    相关资源
    最近更新 更多