这可能是一个简单的问题,但我不知道我要做的事情的名称,所以我不知道如何搜索它。
基本上当我在终端(linux命令行)并输入
时$ python do_something.py stuff
我想让stuff
对我的脚本来说意味着什么。所以有两个问题:
答案 0 :(得分:3)
最简单的方法是将do_something.py
脚本发送到import sys
并访问"内容"命令行参数为sys.argv(1)
。当然,有许多更好的方式。
答案 1 :(得分:2)
你所要求的是被称为参数解析。
要以正确的方式执行此操作,您应该明确使用 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"
Here is a link to a nice tutorial ,上面的例子可以自由调整。