-4

我正在尝试使用 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

我的问题是我没有得到路径的任何值,我认为我对如何调用 python 脚本函数有错误,我不知道那是什么部分。谁能帮我。提前致谢。

我结合了来自这个问题Calling a Python function from a shell script的 EOL 的想法和来自这个问题的 Sebastian Rittau 的想法How to import a module given the full path? .

4

1 回答 1

1

尝试:

Path=$(python -c 'import imp; lp = imp.load.source("sample", "path/to/sample.py"); print lp.getval("section_1", "key_1")')
于 2012-08-24T14:00:10.067 回答