如何从Python脚本返回一个值作为Bash变量?

ede*_*ora 5 python bash program-entry-point return-value

这是我的代码的摘要:

# import whatever

def createFolder():
    #someCode
    var1=Gdrive.createFolder(name)
    return var1 

def main():
    #someCode
    var2=createFolder()
    return var2

if __name__ == "__main__":
    print main()
Run Code Online (Sandbox Code Playgroud)

我设法向bash变量返回值的一种方式是打印从main()返回的内容。另一种方法是只在脚本的任何位置打印变量

有什么办法可以以更Python化的方式返回它吗?

脚本的调用方式如下:

folder=$(python create_folder.py "string_as_arg")
Run Code Online (Sandbox Code Playgroud)

Ian*_*sco 2

如果您在 bash 中工作,那么您可以简单地执行以下操作:

export var="value"
Run Code Online (Sandbox Code Playgroud)

然而,Python 中没有这样的等价物。如果您尝试使用os.environ这些值,这些值将在整个过程的其余部分持续存在,并且在程序完成后不会修改任何内容。你最好的选择就是完全做你已经在做的事情。