首页 > 解决方案 > python - 删除命名空间并仅打印所需的字符串

问题描述

我有下面的代码,它将值存储在列表中。输出打印列表中的所有值,但带有命名空间。我的问题是,

  1. 如何在没有命名空间的情况下打印?
  2. 如何只打印我需要的值?

例如,从下面的输出中我只需要打印name2,

['Channel1\nName2\n4Time']

下面是我的代码,

# -*- coding: utf-8 -*-
    import subprocess, sys
    firstarg=sys.argv[1]
    result = []
    service_provider = subprocess.Popen (['ffprobe', '-loglevel', 'fatal', '-select_streams', 'p:program_id=p:1', '-show_entries', 'program_tags=service_name', '-of', 'csv=%s' % ("p=0"), '-i', sys.argv[1]], stdout=subprocess.PIPE, stderr=subprocess.STDOUT)
    out = service_provider.communicate() [0]
    result = list()
    result.append(out)
    print result

标签: python

解决方案


您可以将字符串按"\n"字符拆分并获取您需要的字符串

x = ['Channel1\nName2\n4Time']
x[0].split("\n")[1]

输出

'Name2'

推荐阅读