Python:在d中计算空白

2024-05-23 20:38:51 发布

您现在位置:Python中文网/ 问答频道 /正文

我有一个日志文件file.txt,它的日期格式为'%b %_d %H:%M:%S'。 当一个月的某一天在1号和9号之间时,它会用空格填充字段。在

我只是想知道我的代码是否是检查这是否包含空格的最好方法,因为我只是试图从每一行中提取日期/时间

在文件.txt在

Sep  8 16:13:02 blah
Sep  8 16:14:02 blahblah
Sep  8 16:15:02 blablahblah

代码:

^{pr2}$

Tags: 文件方法代码txt格式时间sepfile
2条回答

如果您想用空格填充输出字段,可以使用pythonstring formatting spec。在

>>> for line in 'Sep 8 16:13:02 blah', 'Sep 12 16:13:02 blah':
>>>     print('{0} {1:>2} {2}'.format(*line.split()))

Sep  8 16:13:02
Sep 12 16:13:02

{1:>2}表示字段1应该右对齐,宽度至少为2个字符。缺少的字符将用空格填充。在

在python3.6+中,您还可以使用f-strings使其更加不言自明。在

^{pr2}$

根据jedwards的评论:

from datetime import datetime

f = '''Sep  8 16:13:02 blah
Sep  8 16:14:02 blahblah
Sep  8 16:15:02 blablahblah'''.splitlines()

for line in f:
    d = datetime.strptime(line[:15], '%b %d %H:%M:%S')
    print(d)

输出:

^{pr2}$

相关问题 更多 >