从shell脚本调用Python函数
发布时间:2020-12-16 01:22:51 所属栏目:安全 来源:网络整理
导读:我想知道如何从 shell脚本调用 Python函数. 我有一个具有多个函数的Python文件,我需要使用它们在我的shell脚本中返回的值.有办法做到吗 我正在这样做,以便使用Python读取一个配置文件,并在shell中获取值.有没有其他更好的方式来实现这一点. test.py包含: im
我想知道如何从
shell脚本调用
Python函数.
我有一个具有多个函数的Python文件,我需要使用它们在我的shell脚本中返回的值.有办法做到吗 我正在这样做,以便使用Python读取一个配置文件,并在shell中获取值.有没有其他更好的方式来实现这一点. test.py包含: import ConfigParser config = ConfigParser.ConfigParser() config.read("test.conf") def get_foo(): return config.get("locations","foo") def get_bar(): return config.get("locations","bar") 我需要将Python函数返回的值存储在一个shell变量中.
您可以通过要求Python解释器打印结果,将函数的结果发送到标准输出:
python -c 'import test; print test.get_foo()' -c选项只是要求Python执行一些Python命令. 为了将结果存储在变量中,您可以执行以下操作: RESULT_FOO=`python -c 'import test; print test.get_foo()'` 或等效地 RESULT=$(python -c 'import test; print test.get_foo()') 因为反引号和$(…)评估一个命令并将其替换为其输出. PS:获取每个功能的结果需要使用这种方法每次解析配置文件.这可以通过一次性返回所有结果来优化,具体如下: ALL_RESULTS=$(python -c 'import test; print test.get_foo(),test.get_bar()') 然后可以将结果拆分并放入不同的变量中 RESULT_BAR=$(echo $ALL_RESULTS | cut -d' ' -f2) 它采用第二个结果并将其放在RESULT_BAR中(例如,同样:-fn为result #n). PPS:正如Pablo Maurin所说,如果可能,在一个解释器(Python,但也可能是shell)中执行所有操作可能更容易,而不是在一个程序中计算变量并在另一个程序中使用它们. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |
推荐文章
站长推荐
- Angular4:Metadata version mismatch for module
- angularjs – 使用$sce和ng-bind-html在Salesfor
- 如何在vim中每1秒自动保存一个文件?
- angularjs – 如何使用angular2拦截http错误?
- 问题在bash中列出文件,目录路径中包含空格
- 使用自定义IP从Docker注册到Eureka
- angularjs – 如何使用Angulartics在Google Anal
- 【数据结构】树状数组笔记
- 关于bootstrap的modal弹出层嵌套子Modal所引发的
- scala – 为什么dataset.count()比rdd.count()更
热点阅读