-1

我希望在 python 代码的每一行的开头打印一个字符。特别是,我想打印一个“|” 到每个输出行的开头。在 python 中实现这一目标的最佳方法是什么?

4

2 回答 2

1

使用 Python 3?替换print

_realprint = print
def print(*args, **kwargs):
    _realprint('|', end='')
    _realprint(*args, **kwargs)
print.__doc__ = _realprint.__doc__

现在输出的所有内容都print将以'|'为前缀。额外的功劳是在您的呼叫中替换\n为,记住何时使用等于 以外的其他内容等进行呼叫。不过,这应该可以让您通过 99% 的案例。\n|_realprint()end\n

于 2012-05-03T04:19:47.637 回答
0

制作您自己的文件,类似于定义write()和替换sys.stdout.

import sys

class forewrap(object):
  def __init__(self, origfile, cseq='|'):
    self.file = origfile
    self.cseq = cseq
    self.seen = False

  def write(self, txt):
    if not (self.seen and txt == '\n'):
      self.seen = True
      self.file.write(self.cseq)
    else:
      self.seen = False
    self.file.write(txt)

print 'foo'
sys.stdout = forewrap(sys.stdout)
print 'foo'
print
print 'bar'
于 2012-05-03T04:13:50.017 回答