如何在bash脚本中导入python文件? (要在我的bash脚本中使用python值)

我想知道是否有可能在bash脚本中包含python脚本,以便(在bash脚本中)编写我在python程序中编写的函数的返回值?

例如:
我的文件“ file.py”具有一个函数,该函数返回变量值“ my_value”(代表文件名,但无论如何)
我想创建一个bash脚本,它必须能够执行像“ ingest my_value”这样的命令行

那么,您是否知道如何在bash脚本中包含python文件(导入…?),以及如何从bash脚本中的python文件调用值?

先感谢您.

更新资料

实际上,我的python文件如下所示:

class formEvents():
    def __init__(self):
        ...
    def myFunc1(self): # function which returns the name of a file that the user choose in his computeur
    ...
    return name_file        

    def myFunc2(self): # function which calls an existing bash script (bash_file.sh) in writing the name_file inside it (in the middle of a line)
        subprocess.call(['./bash_file.sh'])

if__name__="__main__":
    FE=formEvents()

我不知道是否足够清楚,但这是我的问题:可以在bash_file.sh内写入name_file

约旦

解决方法:

最简单的方法是通过标准UNIX Pipeline和Shell.

这是一个例子:

foo.sh:

#!/bin/bash

my_value=$(python file.py)
echo $my_value

file.py:

#!/usr/bin/env python

def my_function():
    return "my_value"

if __name__ == "__main__":
    print(my_function())

它的工作方式很简单:

>您启动foo.sh
> Bash产生一个子进程并运行python file.py
> Python(以及对file.py的解释)运行函数my_function并将其返回值打印到“标准输出
> Bash在my_value中捕获Python进程的“标准输出
> Bash然后简单地将存储在my_value中的值也回显到“标准输出”,您应该看到在外壳/终端上打印了“ my_value”.

相关文章

用的openwrt路由器,家里宽带申请了动态公网ip,为了方便把2...
#!/bin/bashcommand1&command2&wait从Shell脚本并行...
1.先查出MAMP下面集成的PHP版本cd/Applications/MAMP/bin/ph...
1、先输入locale-a,查看一下现在已安装的语言2、若不存在如...
BashPerlTclsyntaxdiff1.进制数表示Languagebinaryoctalhexa...
正常安装了k8s后,使用kubect工具后接的命令不能直接tab补全...