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

如何在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”.

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

相关推荐