在getoutput()中为每一行添加文本

时间:2017-09-20 12:12:45

标签: python bash for-loop

我在确定如何在python中为getoutput方法的每一行添加文本时遇到问题。

代码如下所示:

...
def mloop():
 for i in csv2hash(SLIST):
    ...
    if i.get('IP'):
        r = getoutput(CMD3 % (i['IP'])
        for line in iter(r):
           print i['IP']
...

问题是,如果我尝试这段代码,它会显示"的语法错误:"在iter(r):中如果我删除":"(我想我不应该这样做......)它将显示print的语法错误。 CMD3变量是一个bash脚本,用于列出ssh​​服务器上文件夹中的所有文件。并且在所有处理之后它全部进入csv(我没有在这里包含的代码)

我可以在bash脚本中添加IP,但是我想在python中执行此操作。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

我认为此代码可以解决您的问题。试试这个。

  def mloop():
     for i in csv2hash(SLIST):
        ...
        if i.get('IP'):
            r = getoutput(CMD3 % (i['IP']))
            for line in iter(r):
               print (i['IP'])