-4

Pythonスクリプトの関数を使用して、別のディレクトリのシェルスクリプトの変数に保存しようとしています。ディレクトリの視覚的表現は次のとおりです。

    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スクリプト関数を呼び出す方法に間違いがあると思います.それがどの部分なのかわかりません. 誰でも私を助けることができます。前もって感謝します。

私は、シェルスクリプトからPython関数を呼び出すこの質問からのEOLのアイデアと、この質問からのセバスチャン・リタウのアイデアを組み合わせましたフルパスを指定してモジュールをインポートする方法? .

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 に答える