我正在尝试在 python 脚本中捕获来自串行的数据。流以“#”结尾,流可以包含字母、数字、许多其他特殊字符和换行符。我想捕获所有字符并在完成后将它们放入一个文件中。但是,我不确定我的 re 是否正确。是
re.match("[A-Za-z0-9,.$:<>&*=-]", char, re.DOTALL)
要捕获所有字母、数字和,.$:<>&*=-
字符以及换行符吗?我可以简单地添加遇到的每个字符,将它放在一个列表中,然后像这样编写列表 ta 文件:
while 1:
# must handle 'exceptions' - IE blank data....
try:
if s.inWaiting():
val = s.read(s.inWaiting())
for char in val:
if re.match("[A-Za-z0-9,.$:<>&=-]", char, re.DOTALL):
chunk += char
print char
# handle end of stream
#if char is '#':
if re.match("#", char):
f = open('./report', 'w')
f.write(chunk)
sys.exit()
目前它正在抓住我所期望的一切,但它似乎没有抓住新行,因为结果文件不包含任何......