import sys
import postgresql
import re
if len(sys.argv) != 2:
print("usage: FixToDb <fix log file>")
else:
f = open(sys.argv[1], 'r')
timeExp = re.compile(r'(\d{2}):(\d{2}):(\d{2})\.(\d{6}) (\S)')
tagExp = re.compile('(\\d+)=(\\S*)\001')
for line in f:
#parse the time
m = timeExp.match(line)
print(m.group(1) + ':' + m.group(2) + ':' + m.group(3) + '.' + m.group(4) + ' ' + m.group(5));
tagPairs = re.findall('\\d+=\\S*\001', line)
for t in tagPairs:
tagPairMatch = tagExp.match(t)
print ("tag = " + tagPairMatch.group(1) + ", value = " + tagPairMatch.group(2))
chr(1)
应该工作,“\x01”
和“\001”
也应该工作。(注意chr(1)
已经返回一个字符串,所以不需要执行str(chr(1))
。)在您的示例中,看起来既有“\001”
又有chr(1)
,因此除非数据中的一行中有两个字符,否则这将不起作用。
您说regex“似乎没有捕捉到它”,但您没有给出输入数据的示例,因此不可能说出原因。
编辑;好吧,看起来这个问题与\001
无关。这是典型的贪婪问题。tagExp表达式中的\s*
将匹配\001
字符(因为该字符不是空白。因此\s*
会吞噬整行。使用\s*?
使其不贪婪。
问题内容: 我想int放入一个。这是我目前正在做的事情: 我必须为几个不同的数字运行程序,所以我想做一个循环。但是像这样插入变量不起作用: 如何在字符串中插入变量? 问题答案: 当跟随字符串时,%运算符允许你通过格式代码(在本例中为%d)将值插入该字符串。有关详细信息,请参阅Python文档:
问题内容: 有没有一种方法可以在Python中对字符串进行子字符串化,以从第三个字符到字符串末尾获取新的字符串? 也许喜欢吗? 如果离开第二部分意味着“直到最后”,而如果离开第一部分,它是否从头开始? 问题答案: Python称这个概念为“切片”,它不仅适用于字符串,还适用于更多的领域。看看这里的一个全面的介绍。
问题内容: 如何将(度)字符转换为字符串? 问题答案: 将此行放在源代码的顶部 如果您的编辑器使用其他编码,请替换为utf-8 然后,您可以直接在源代码中包含utf-8字符
问题内容: 因此,我试图创建一个“动态”文档字符串,如下所示: 基本上让文档字符串显示所有内容;因此,当更新此变量时,文档字符串将自动更新。 不幸的是,它似乎不起作用。有谁知道有没有办法实现这一目标? 问题答案: 三引号字符串是一个大字符串。它们内部没有任何评估。该部分是字符串的所有部分。您需要使它在实际的字符串上运行。 ~~~~ 我不确定这是否可以正常工作;docstrings有点神奇。这将 不
问题内容: 我想检查字符串是否在文本文件中。如果是,请执行X。否则,请执行Y。但是,True由于某些原因,此代码始终返回。谁能看到错在哪里? 问题答案: 你一直得到的原因已经给出,因此我只提供另一个建议: 如果你的文件不是太大,则可以将其读取为字符串,然后使用它(比读取和检查每行更容易,并且通常更快): 另一个技巧:通过使用创建使用基础文件的“字符串状”对象(而不是读取内存中的整个文件),可以减轻
本文向大家介绍如何在Python中获取文档字符串?,包括了如何在Python中获取文档字符串?的使用技巧和注意事项,需要的朋友参考一下 文档字符串是文档字符串,它是字符串文字,它出现在类,模块,函数或方法定义中,并被写为第一条语句。 Doc字符串有两种类型: 单行文档字符串 多行文档字符串 这些主要用于DataScience /机器 学习 编程中。 单行文档字符串 这种类型的Doc字符串适合一行