Python bash管道

use*_*790 2 python bash pipe

我想将python脚本的输出传递给bash脚本.我所做的,到目前为止是我试图用os.popen(),sys.subprocess()以及试图给管道为例

os.popen('echo "P 1 1 591336 4927369 1 321 " | v.in.ascii -zn out=abcx format=standard --overwrite')
Run Code Online (Sandbox Code Playgroud)

但这不起作用,值"591336""4927369"是作为python脚本输出的变量.但是当我这样做或通过重复echo命令和管道手动更改值时,它可以工作(在bash中).

v.in.ascii -zn out=abcx format=standard --overwrite
Run Code Online (Sandbox Code Playgroud)

bash命令的上述部分是Grass GIS的一部分

谁能帮我!

Joh*_*ett 6

您可以使用print输出到stdout并将Python进程传递给下一个进程,例如

python myprogram.py | ...
Run Code Online (Sandbox Code Playgroud)

myprogram.py可能在哪里:

for x in something:
    print dosomething(x)
Run Code Online (Sandbox Code Playgroud)