通过arg功能

时间:2015-10-11 16:46:15

标签: python python-3.x argv

如何传递arg 10 9 - 5 +,并通过命令行接收答案6?我有一个函数,但我不确定如何将参数传递给它以使其工作。

这是功能:

def polish_calc():
    polish = "10 9 - 5 +"
    print(int(polish[:2]) - int(polish[-7]) + int(polish[-3]))
polish_calc()

2 个答案:

答案 0 :(得分:0)

如果您有脚本some_script.py

#!/usr/bin/env python
import sys
print sys.argv

然后你可以这样称呼它:

$ python some_script.py hello world
['some_script.py', 'hello', 'world']

对于反向波兰表示法,您需要将字符串拆分为标记并使用堆栈来保存它们。

答案 1 :(得分:0)

看看sys.argv。 要添加更多参数,请检查argparse模块。它有一些很酷的参数解析函数。

您可以将其放在脚本foo.py

confdir

要打电话,你可以

#foo.py
import sys
def polish_calc(polish):
    print(int(polish[:2]) - int(polish[-7]) + int(polish[-3]))

if __name__ == "__main__":
    if len(sys.argv) > 1:
        script_arg = sys.argv[1]
        polish_calc(script_arg)