我是一个Python怪,我被一些我知道很简单的事情困住了。。。
我有一个包含用户登录数据的纯文本文件:
dtrapani HCPD-EPD-3687 Mon 05/13/2013 9:47:01.72
dlibby HCPD-COS-4611 Mon 05/13/2013 9:49:34.55
lmurdoch HCPD-SDDEB-3736 Mon 05/13/2013 9:50:38.48
lpatrick HCPD-WIN7-015 Mon 05/13/2013 9:57:44.57
mlay HCPD-WAR-3744 Mon 05/13/2013 10:00:07.94
eyoung HCPD-NLCC-0645 Mon 05/13/2013 10:03:01.83
我正在尝试按对齐列打印数据:
dtrapani HCPD-EPD-3687 Mon 05/13/2013 9:47:01.72
dlibby HCPD-COS-4611 Mon 05/13/2013 9:49:34.55
lmurdoch HCPD-SDDEB-3736 Mon 05/13/2013 9:50:38.48
lpatrick HCPD-WIN7-015 Mon 05/13/2013 9:57:44.57
mlay HCPD-WAR-3744 Mon 05/13/2013 10:00:07.94
eyoung HCPD-NLCC-0645 Mon 05/13/2013 10:03:01.83
我搜遍了这个网站,差点杀了我的“谷歌机器”!谢谢你能提供的帮助。
编辑:我忘记包括我的代码:
with open(r'C:\path\to\logons.txt', 'r') as f:
for line in f:
data = line.strip()
print(data)
str.ljust(width, [fillchar=" "])
(http://docs.python.org/2/library/stdtypes.html#str.ljust)似乎是你想要的。 打印到最大长度+一点点时,左对齐每个字段。对于与示例匹配的最后一个字段,您需要使用rjust来右对齐它。
我会使用这个新的(er)打印格式化程序(假设您的字段是一致的)。print/format语句非常容易使用,可以找到here。由于您的数据可以被视为一个列表,因此您可以执行一次格式化调用,并提供正确的格式化程序数据,从而获得输出。与ljust或rjust相比,这有一点更细粒度的控制,但是有一个缺点,那就是您需要知道您输入的数据是一致的。
相关问题 更多 >
编程相关推荐