python - 从字符串中解析时间,从输入文件中读取(纯文本)

标签 python json linux

我正在使用python,我从服务器获取数据,日志,所以我需要解析日期和时间,每天,我怎样才能从这个文件中只打印日期和时间?

fin = open("data.txt","r")
text = fin.read()
new_date_format1= datetime.datetime.strptime('%Y-%m-%d')
print('Today is:',new_date_format1)

例如,我想在运行我的代码时从这个文件中打印日期,我不想在我的代码中写日期,但我希望我的代码在文件中搜索并以 %Y 格式获取日期-%m-%d

`2019-02-27 01:13:41,952 INFO  [stdout] (AsyncAppender-Dispatcher-Thread-104)`


2019-02-27 03:45:20,187 INFO [stdout] (AsyncAppender-Dispatcher-Thread-104)

提前致谢

最佳答案

由于您正在使用日志文件并且显然只需要当前日期,因此您可以只搜索(可能很大)日志文件的最后一行,而不是使用 .read()< 将整个文件读入内存。 这StackOverflow answer有一个关于如何找到文件最后一行的很好的例子。

一旦你在你的日志文件中提取了最新的一行,你应该提取日期。您可以为此使用正则表达式。此正则表达式适用于您指定的格式:

'^\d+-\d+-\d+\w'

末尾的空格 \w 防止非贪婪匹配返回错误(短)结果。您稍后可以使用字符串方法 .strip() 将其删除。

获得日期字符串后,您可以使用 the options shown in answers to this StackOverflow question 之一为了从中解析日期时间对象。但是,如果您无论如何都想以相同的格式打印它,那么您也可以直接打印提取的字符串。

关于python - 从字符串中解析时间,从输入文件中读取(纯文本),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/54902379/

相关文章:

python - 为python设置apache

javascript - 带有 JSON 数据的 AngularJS 多维数组

java - onResponse boolean 实例变量未设置?

linux - gnuplot 线型不想改变

linux - 在 solaris 上的 heredoc 中转义换行符

python - wxPython 拖放 matplotlib 图形

python - 如何将html输入到Flask?

python - 如何配置和运行 celerybeat

javascript - 您如何缩小内部和数组的 promise 功能?

c - 一台电脑有多少处理能力