[英]Execute python script with a variable from linux shell
这可能是一个简单的问题,但我不知道我正在尝试做什么的名称,所以我不知道如何搜索它。
基本上当我在终端(linux命令行)和我输入时
$ python do_something.py stuff
我想让stuff
东西对我的剧本来说意味着什么。 所以有两个问题:
最简单的方法是使do_something.py
脚本import sys
并以sys.argv(1)
访问“stuff”命令行参数。 当然,有许多更好的方式。
您要求的是称为参数解析。
要以正确的方式执行此操作,您应该明确使用argparse 。
它是一个整洁而又非常强大的库,可以使参数解析更有效。 此外,默认情况下,它使您的脚本以正确的Linux方式管理参数。
基本示例:
import argparse
parser = argparse.ArgumentParser(description='My argparse program')
parser.add_argument('--verbose',
action='store_true',
help='sets output to verbose' )
args = parser.parse_args()
if args.verbose:
print("~ Verbose!")
else:
print("~ Not so verbose")
然后你可以做一些很酷的事情:
$ python3 myscript.py --verbose
~ Verbose!
什么更酷,它提供了一个自动--help
(或-h
)参数:
$ python3 myscript.py --help
usage: myscript.py [-h] [--verbose]
My argparse program
optional arguments:
-h, --help show this help message and exit
--verbose sets output to verbose
这是一种允许您轻松完成复杂内容的库:
./myscript.py --password=no -c -o --keep_moving --name="Robert"
这是一个很好的教程的链接,上面的例子可以从中自由调整。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.