Python 正在分析子进程标准值

Python 正在分析子进程标准值,python,python-3.x,stdout,Python,Python 3.x,Stdout,给定命令的stdout是iterable字符串的形式,但不打印实际值 import subprocess subnets = subprocess.run('''aws ec2 describe-subnets | jq -r '.Subnets[] | select(.Tags[].Value == "az1") .SubnetId' ''', stdout=subprocess.PIPE, shell=True) print(subnets.stdout.decode('

给定命令的stdout是iterable字符串的形式,但不打印实际值

import subprocess
subnets = subprocess.run('''aws ec2 describe-subnets | jq -r '.Subnets[] | select(.Tags[].Value == "az1") .SubnetId' ''', stdout=subprocess.PIPE, shell=True)
print(subnets.stdout.decode('utf-8'))
标准是

subnet-01234567
subnet-abcdefgh
当我在标准输出上迭代时,它是以字符串iterable的方式进行迭代的,例如['s','u','b','n','e',…],但不是实际值,例如“subnet-01234567,subnet abcdefgh”。
我该怎么修理它

如果您想迭代在单独行中打印的值,我建议您用新行(
'\n'
)分隔:


太好了,这对我有用。谢谢。很乐意帮忙。你能接受这个答案吗?
str_out = subnets.stdout.decode('utf-8')
for part in str_out.split('\n'):
    print(part)