Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/visual-studio-2012/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Python在TXT文件中的每个时间戳之前添加换行符_Python_Python 2.7 - Fatal编程技术网

使用Python在TXT文件中的每个时间戳之前添加换行符

使用Python在TXT文件中的每个时间戳之前添加换行符,python,python-2.7,Python,Python 2.7,我试图使用python脚本在每个时间戳之前添加一个换行符,从而使TXT日志文件更具可读性 当前文件示例: 2018-11-28 13:12:01.023参数定义!2018-11-28 13:12:01.023起动试验 使其看起来如下所示: 2018-11-28 13:12:01.023参数定义 2018-11-28 13:12:01.023启动测试必须有某种模式才能实现。考虑到所有日志都来自2018年,您可以执行以下操作 string = "2018-11-28 13:12:01.023 par

我试图使用python脚本在每个时间戳之前添加一个换行符,从而使TXT日志文件更具可读性

当前文件示例: 2018-11-28 13:12:01.023参数定义!2018-11-28 13:12:01.023起动试验

使其看起来如下所示:

2018-11-28 13:12:01.023参数定义


2018-11-28 13:12:01.023启动测试必须有某种模式才能实现。考虑到所有日志都来自2018年,您可以执行以下操作

string = "2018-11-28 13:12:01.023 parameter definition!2018-11-28 13:12:01.023 starting test"
print(string.replace("2018", "\n2018"))

2018-11-28 13:12:01.023 parameter definition!
2018-11-28 13:12:01.023 starting test

你也可以用记事本++这样的文本编辑器做同样的事情。只需搜索模式并将其替换为新的线条字符和模式。例如,搜索“2018”并将其替换为“\n2018”

如果您知道您的行总是以“XXXX-XX-XX XX:XX:XX.XXX”形式的时间戳开头,其中每个“X”是一个数字,那么您可以使用正则表达式来标识任何事件,然后粘贴一个换行符(
\n
)在找到任何匹配项之前(这些匹配项用“
\1
”符号表示)

输出:

2018-11-28 13:12:01.023 parameter definition!
2018-11-28 13:12:01.023 starting test
1955-10-15 01:22:33.987 hi
请注意,这总是在字符串的最开始处粘贴一个换行符,即使上面没有要分隔的行

尽管如拉斯提亚所示,如果您知道时间戳将以“2018”开头,并且您不希望“2018”出现在除时间戳开头之外的任何其他地方,那么简单的替换可能就足够了。

您的问题还不清楚--是否要编辑现有的日志文件,还是要修改创建日志文件的过程?请查看。
2018-11-28 13:12:01.023 parameter definition!
2018-11-28 13:12:01.023 starting test
1955-10-15 01:22:33.987 hi