当字符串的长度发生变化时,我想打印这些标题以获得更长/更短的标题。我不知道如何做到这一点,我想我可以使用len()并根据它们的长度打印一些“=”,但它没有按预期结束。
+==========================+
| Running: hba_test
| Skipping: abort/"Basic Sanity" delayedabort/"Abort Control List"
+==========================+
+==========================+
| Skipping: sdt_test
+==========================+
这些是标题,这是当前用于生成它们的代码。
#print header to seperate tests
l1 = len(x)
l2 = len(y)
print "+==========================+"
if disable:
print "| Skipping: %s " % x
else:
print "| Running: %s " % x
if 'disable=' in test:
print "| Skipping:%s " % y
print "+==========================+"
答案 0 :(得分:1)
这可能有所帮助:
如果您知道要打印多少=
,可以执行以下操作:
In [2]: "=" * 50
Out[2]: '=================================================='
答案 1 :(得分:1)
这些方面的内容怎么样?它虽然不优雅且“硬编码”。
x = 'hba_test'
y = 'abort/"Basic Sanity" delayedabort/"Abort Control List"'
disable = False
test = 'disable='
#print header to seperate tests
l1 = len(x)
l2 = len(y)
if disable:
headerBreak ="+" + "="*(l1+12) + "+"
print headerBreak
print "| Skipping: %s |" % x
else:
headerBreak = "+" + "="*(max(l1,l2)+11) + "+"
print headerBreak
print "| Running: %s" % x, ' '*(l2-l1)+ '|'
if 'disable=' in test:
print "| Skipping:%s |" % y
print headerBreak
返回:
+=================================================================+
| Running: hba_test |
| Skipping:abort/"Basic Sanity" delayedabort/"Abort Control List" |
+=================================================================+
+====================+
| Skipping: hba_test |
+====================+
x = 'hba_test'
y = 'abort/"Basic Sanity" delayedabort/"Abort Control List"'
disable = False
test = 'disable='
#print header to seperate tests
def asciiBlock(lineList):
maxLength = 0
lines = []
for line in lineList:
newLine = ': '.join(line)
lines.append(newLine)
if maxLength<len(newLine):
maxLength=len(newLine)
asciiArt = '+'+'='*(maxLength+2)+'+'
newLineList = [asciiArt]
for line in lines:
newLineList.append('| '+ line + ' '*(maxLength-len(line))+' |')
newLineList.append(asciiArt)
return '\n'.join(newLineList)
if disable:
lineList = [('Skipping',x)]
else:
lineList = [('Running',x)]
if 'disable=' in test:
lineList.append(('Skipping',y))
print asciiBlock(lineList)