将命令行参数传递给python脚本[重复]

Posted

技术标签:

【中文标题】将命令行参数传递给python脚本[重复]【英文标题】:Pass command line argument to python script [duplicate] 【发布时间】:2018-10-16 00:18:56 【问题描述】:

我有一个 file.py,我想在调用时将 base_url 传递给它,以便在运行 python file.py base_url='http://google.com'base_url 变量值可以是动态的,然后可以在执行中直接使用 http://google.com 的值文件.py。

我该怎么做?

谢谢

【问题讨论】:

在这里提问和回答:***.com/questions/1009860/… 【参考方案1】:

命令行参数存储在列表sys.argv 中。 sys.argv[0] 是调用的命令的名称。

import sys

if len(sys.argv) != 2:
    sys.stderr.write("usage:  base_url".format(sys.argv[0]))
    exit(-1) # or deal with this case in another way
base_url_arg = sys.argv[1]

根据输入格式,base_url_arg 可能需要进一步处理。

【讨论】:

【参考方案2】:

sys.argv.

How to use sys.argv in Python

要解析作为"name=value" 字符串传递的参数,您可以执行以下操作:

import sys

args = 
for pair in sys.argv[1:]:
    args.__setitem__(*((pair.split('=', 1) + [''])[:2]))

# access args['base_url'] here

如果您想要更精细地解析命令行选项,请使用argparse

Here是argparse的教程。

【讨论】:

以上是关于将命令行参数传递给python脚本[重复]的主要内容,如果未能解决你的问题,请参考以下文章

如何将命令行参数传递给 c 程序

Snakemake:将命令行参数传递给脚本。

使用 argparser 将参数传递给入口点 python 脚本

将命令行参数传递给 QPython

将命令行参数传递给调用带有装饰器参数的装饰函数的函数

将命令行参数传递给 package.json 中的 npm 脚本