2017-03-20 140 views
0

这似乎是一件非常简单的事情,但我无法自己找到答案。 我有一个函数返回输出的许多行:如何将多行输出转换为单行多行输出

... if lines[i].strip().find('OPEN_MODE') == 0: 
      res = lines[i:i + 3] 
      for i in res: 
       yield i.strip() 
      print('') 
for inp in db_status(remote_conn): 
    print(int) 
> DATABASE_STATUS 
> ----------------- 
> ACTIVE ... 

下一步是对整个输出到另一个功能通过作为多行字符串,例如:

'''DATABASE_STATUS 
----------------- 
ACTIVE...''' 

我曾尝试使用splitlines ()在int上,或者用换行符'\ n'.join()加入字符串,但是没有成功。

+0

你究竟做了什么,究竟发生了什么错误? –

+0

它会分别返回每一行,所以您需要在加入之前将其收集到for循环中,或者您需要提前移动连接(在收益率之前) –

回答

1

如果你只是问:“我怎么得到我的函数所有产生值成一个字符串?”,然后尝试使用join

result = "\n".join(db_status(remote_conn)) 

我知道你说你试过"\n".join已经并没有工作,但我猜你通过了错误的参数,例如在for循环中的"\n".join(inp)。有了这个,你实际上并不需要在函数之外的for循环。

+0

这正是我正在查找的内容:_result =“\ n”。加入(db_status(remote_conn))_。谢谢! – feedthemachine