我正在编写一个小python实用程序来帮助将shell -help
文档移动到可搜索的网页上,但遇到了一个奇怪的问题:
output = subprocess.Popen([sys.argv[1], '--help'],stdout=subprocess.PIPE).communicate()[0]
output = output.split('\n')
print output[4]
#NAME
for l in output[4]:
print l
#N
#A
#
#A
#M
#
#M
#E
#
#E
#or when written, n?na?am?me?e
它对文档中的任何heading/subheading
都这样做,这使得它几乎不可用。你知道吗
关于正确格式化有什么建议吗?我哪里搞砸了?你知道吗
谢谢
在终端中将字符标记为粗体的一种常见方法是打印字符,然后是退格字符,然后是字符本身(就像在机械打字机上那样)。像
xterm
这样的终端仿真器检测这样的序列并将它们转换成粗体字符。如果stdout不是终端,程序就不应该打印这样的序列,但是如果你的工具是这样的,你就得自己收拾残局。你知道吗文档中包含用老式行打印机的方式打印的多余字符:打印每个字符,后跟一个空格(
\b
又名\x08
),再跟一个相同的字符。所以“NAME”变成了"N\bNA\bAM\bME\bE"
。如果您能说服程序不要以这种方式输出,那将是最好的;否则,您可以用output = re.sub(r'\x08.', '', output)
之类的方法来清理它相关问题 更多 >
编程相关推荐