我必须从文件中读取并使用字符串格式以表格的形式打印输出 这是我写的一个例子
def timesplit(m,n):
count=0
for i in m:
if i>=n:
count+=1
return count
f=open("/home/chandra.pradyumna/logs.properties")
line=f.readlines()
if line[1][-2]=='1':
k=line[3][line[3].find("=")+1:-1].split(",")
l=line[4][line[4].find("=")+1:-1].split(",")
print k,l
print "%9s|"*len(k)+"%9s"*len(l)%timesplit(k[0],Exec),timesplit(k[1],Exec),timesplit(k[2],Exec),timesplit(k[3],Exec),timesplit(l[0],Update),timesplit(l[1],Update),timesplit(l[2],Update),timesplit(l[3],Update)
Exec和Update是包含范围(0,50)
中的浮点数的列表我正在阅读的文件如下
#Enable timesplts=1 else=0
timesplits = 1
#The specific time splits
Exectimespilt=10,15,20,30
Updatetimesplit=10,15,20,30
输出应采用表格格式
--------------------------------------------------------------------------
hour |exec(>10)|exec(>15)|exec(>20)|exec(>30)|update(>10)|update(>15)|update(>20)|update(>30)
-------------------------------------------------------------------------------
hour-1 |3 |5 |7 |4 |5 |2 | 3 |5
--------------------------------------------------------------------------------
hour-2 |2 |3 |4 |5 |1 |2 |5
使用timesplit()将数据填入表中。
那么我如何动态地执行字符串格式化取决于k和l中的元素的数量。这是一个示例,除了这两个之外,表还有许多其他组件 提前致谢
答案 0 :(得分:1)
我会分别格式化每个条目,然后将它们连接在一起:
print ",".join("%9s" % timesplit(i, ...) for i in k), "|", ",".join("%9s" % timesplit(i, ...) for i in l)
如果这是你的意思。
请注意,当您致电timesplits()
时,您的功能名为timesplit()
。
我也不知道你的第二个参数(Exec
resp。Update
)应该在这个上下文中是什么以及它如何与函数中的参数n
匹配。 / p>