微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

python从bash shell调用自定义函数

如何从bash shell调用python脚本中的自定义函数

我试图使用sys.argv [1],但工作不正常.

例如,

import sys

if __name__=='__main__':
    try:
        func = sys.argv[1]
    except: func = None

def function1():
~~~~~~~~
return a

def function2():
~~~~~~~~
return b

在这里,我想通过输入like来调用函数1或函数2

$script.py function1

$script.py function2

解决方法:

您正在获取功能名称,但您没有运行它.您应首先检查func名称是否是您的函数之一而不是执行它:

if __name__=='__main__':
    try:
        func = sys.argv[1]
    except: 
        func = None

functions = {    
              "function1": function1,
              "function2": function2
              }

if func in functions:
    functions[func]()

更简单的解决方案:

 if func == "function1":
     function1()
 elif func == "function2":
     function2()

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐