我想将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的一部分
谁能帮我!
您可以使用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)