【问题标题】:Adding text for each line in getoutput()在 getoutput() 中为每一行添加文本
【发布时间】:2018-03-01 11:58:52
【问题描述】:

我在弄清楚如何在 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 中执行此操作。

感谢您的帮助!

【问题讨论】:

  • 您应该使用足够的信息和代码更新您的问题,以便我们重现问题。如果您让我们更容易为您提供帮助,您将从社区中得到更好的回应。阅读stackoverflow.com/help/mcve
  • getoutput() 行缺少右括号。

标签: python bash for-loop


【解决方案1】:

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

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

【讨论】:

  • 是的,它有效,谢谢 :) 还有,jasonharper 怎么说...我不知何故删除了一个括号...愚蠢的错误:p
猜你喜欢
  • 2013-11-18
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-04-05
  • 1970-01-01
  • 2012-07-03
  • 2014-05-29
  • 1970-01-01
相关资源
最近更新 更多