我正在尝试使用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的想法。
答案 0 :(得分:1)
尝试:
Path=$(python -c 'import imp; lp = imp.load.source("sample", "path/to/sample.py"); print lp.getval("section_1", "key_1")')