从另一个目录的shell脚本调用python函数

时间:2012-08-24 08:02:10

标签: python bash

我正在尝试使用python脚本中的函数并将其存储到另一个目录的shell脚本中的变量中,这里是目录的可视化表示:

    xxx/
        aaa.sh
    yyy/
        sample.py

这是sample.py

的代码
    import ConfigParser

    def getval(section, key):
    config = ConfigParser.RawConfigParser()
    config.read("sample.config")
    return config.get(section, key)

这是aaa.sh的一部分

    #!/bin/sh

    Path = $(python -c 'import imp; lp = imp.load.source('sample', 'path/to/sample.py'), print lp.getval('section_1', 'key_1')')

    some code.......

    echo $Path

我的问题是我没有获得Path的任何值,我想我错误的如何调用python脚本函数,我不知道那是什么部分。 谁能帮我。提前谢谢。

我从这个问题Calling a Python function from a shell script结合了EOL的想法,并从这个问题How to import a module given the full path?结合了Sebastian Rittau的想法。

1 个答案:

答案 0 :(得分:1)

尝试:

Path=$(python -c 'import imp; lp = imp.load.source("sample", "path/to/sample.py"); print lp.getval("section_1", "key_1")')