python - 如何将命令行参数从脚本传递到 python 文件

标签 python python-3.x

我有一个文件“train.py”,它接受命令行参数来运行。有些参数是必要的,有些是可选的

例如。

.\train.py --counter arg1 --opt optional_arg

现在,我想编写一个名为“script.py”的新文件,它将导入这个“train.py”并在该脚本中传递参数并在“script.py”中执行“train.py”

我需要这样做,因为我想每次为 train.py 提供不同的参数集。

我知道我们可以使用 shell 脚本来做到这一点。我很好奇如何使用 python 脚本来完成它。

train.py

import optparse
optparser = optparse.OptionParser()

optparser.add_option(
    "--counter", default = "",
    help = "Counter value"
)

optparser.add_option(
    "--opt", default = "",
    help = "Optinal parameter"
)

'''Do Something'''

脚本.py

args = {
    '--counter':''
    '--opts':''
}

lst = [ 1, 2, 3]

for counter in lst:
    '''set command line arguments here in args dictionary'''
    args['--counter'] = counter

    '''run train.py with args as input dictionary'''

最佳答案

一种方法是通过 Python 使用 os 模块和命令行:

脚本.py

import os

# define some args
arg1 = '74.2'
optional_arg = 'disable'

os.system("python train.py --counter" + arg1 + "--opt" + optional_arg)

关于python - 如何将命令行参数从脚本传递到 python 文件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47310576/

相关文章:

python - 如何在 Windows 10 上运行的 PyCharm 上使用 PyPy(适用于 python 3.6)?

Python3 Process 对象从不加入

python - pyplot : how to explicitly number an axis in a human-readable way

python - 如何将文本文件(或 .con 文件)连接成一个文件?

python - 如何在 Windows 7 64 位上安装 PyOpenSSL?

python - Pandas:根据复杂逻辑删除具有特定字符串的行和列

python - 如何在 Matplotlib 中使用不同主网格间距的 xticklabel?

Python 多处理 : kill process if it is taking too long to return

python - 当值不满足任何边界时如何在 pandas.cut() 上给出标签

python - 仅使用 pathlib 规范化不存在的路径