【问题标题】:Calling a python function from a shell script from another directory从另一个目录的 shell 脚本调用 python 函数
【发布时间】:2012-08-24 08:02:09
【问题描述】:

我正在尝试使用 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 的想法和来自这个问题How to import a module given the full path? 的 Sebastian Rittau 的想法。

【问题讨论】:

  • 对不起,我不熟悉 shell 脚本,所以我才问,再次抱歉。

标签: python bash


【解决方案1】:

试试:

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

【讨论】:

    猜你喜欢
    • 2012-07-13
    • 2012-06-05
    • 2015-02-26
    • 1970-01-01
    • 2012-01-11
    • 1970-01-01
    • 2016-10-26
    • 2012-01-23
    • 1970-01-01
    相关资源
    最近更新 更多