我正在尝试通过管道传递以下脚本的输出
#! /usr/bin/env python
import string
import os
status_cmd = 'herbstclient tag_status'
idle_cmd = 'herbstclient --idle'
def parse_tags(output):
#Takes herbstclient tag_status and parses it
#returns a nested list of tags.
tags = output.split()
taglist = ''
for i in range(len(tags)):
if tags[i][0] == '#':
s = '^bg(' + colors[3] + ')' + tags[i][1:] + ' '
taglist += s
elif tags[i][0] == ':':
taglist += '^bg(' + colors[4] + ')' + tags[i][1:] + ' '
return taglist
def parse_xdef():
#Returns the colors in Xresources in a list
#in the order they appear in Xresources
os.chdir('/home/damian/')
fin = open('.Xresources')
colors = []
for line in fin:
color = line.strip()
if 'color' in color:
rgb = color[color.find('#'):]
colors.append(rgb)
elif 'background' in color:
colors.append(color[color.find('#'):])
elif 'foreground' in color:
colors.append(color[color.find('#'):])
return(colors)
colors = parse_xdef()
single_line_out = ''
idlein = os.popen(idle_cmd)
#for line in idlein:
for line in idlein.readline()
if 'tag' in line:
proc = os.popen(status_cmd)
output = proc.readline()
taglist = parse_tags(output)
single_line_out = taglist
print(single_line_out)
通过dzen或bar,但不起作用。它是一个脚本,用于显示和更新Herbstcluent中的标签,并且可以在终端上独立运行:每当我更改选项卡时,它都会打印格式化为dzen的选项卡列表,但是每当我尝试将其通过管道传输到酒吧时,酒吧就会保持黑色。请帮忙。
最佳答案
对于那些迟到这里的人,我相信解决方案是刷新输出。
import sys
sys.stdout.flush()
关于python - 我如何获得我编写的此python面板以正确地将其传递给dzen?,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/27406152/