如何通过从Python脚本的bash脚本变量

如何通过从Python脚本的bash脚本变量

本文介绍了如何通过从Python脚本的bash脚本变量的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我有一个bash脚本,a.sh,并在其中我有一个叫python脚本b.py。
Python脚本计算的东西,我希望它返回将在后面a.sh中使用的值。
我知道我可以做

I have a bash script, a.sh , and in it I have call a python script b.py .The python script calculates something, and I want it to return a value that will be used later in a.sh .I know I can do

在a.sh:

var=`python b.py`

在b.py:

print x # when x is the value I want to pass

但是,这是不太方便,因为我也是在b.py打印其他消息

But this is not so convenient, because I also print other messages in b.py

有没有更好的办法呢?

编辑:

我现在正在做的就是

var=`python b.py | tail -n 1`

这意味着我可以打印内部b.py很多事情,但只有最后一行(最后的打印命令,假设它不包含在里面\\ n)将被保存在var中。

It means I can print many things inside b.py, but only the last line (the last print command, assuming it doesn't contain "\n" in it) will be stored in var.

感谢所有的答案!

推荐答案

我会把它打印到选择的命令行上的一个文件,然后我会得到与像猫。

I would print it to a file chosen on the command line then I'd get that value in bash with something like cat.

所以,你会去:

python b.py tempfile.txt
var=`cat tempfile.txt`
rm tempfile.txt

您的其他选择是仔细格式化输出,所以你可以使用bash的功能,如 / 来管只有第一个/最后一个行到下一个程序。

Your other option is to format your output carefully so you can use bash functions like head/tail to pipe only the first/last lines into your next program.

这篇关于如何通过从Python脚本的bash脚本变量的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持!

08-22 18:23