我正在阅读上面的 .txt 文件,其中我必须识别这三个字母的单词(ARW、CZC、DUN 等)。后来我必须读取测试用例 ID,例如 VR-GREQ...,直到下一种语言。但我在读取这个 .txt 文件时遇到问题。 下面是我的代码:
with open(output_filename) as parser_file:
for language in parser_file:
language = language.strip()
if(re.search('[A-Z]', language)):
lines = parser_file.readlines()
我必须进一步编码,有人可以帮助我吗?
我的新代码: 输出文件名 = r"C:\Usersktop\TEST\Language\Output.txt" def 写作():
rx = r'^([A-Z]{3})$'
# define a dictionary for the languages
languages = {}
# looks for exactly three uppercase letters from beginning to end
# define a temporary list
tmp = list()
for line in open(output_filename, 'r+'):
m = re.search(rx, line, re.MULTILINE)
if m is not None:
if len(tmp) > 0:
languages[current] = tmp
tmp = list()
current = m.group(1) # current holds the actual language tag
else:
if len(line) > 0:
tmp.append(line.strip())
# after the loop
if len(tmp) > 0:
languages[current] = tmp
print languages
最佳答案
如果您需要查找长度为 3 的字符串,请使用 [A-Z]{3}。您可以根据这 3 个字符“单词”的位置将整个列表拆分为数组。
编辑:回答您的评论...
headers=re.split('[A-Z]{3}\n',YOUR_STRING)
将查找每个部分的“标题”。
然后你可以执行 NEW_STRING=YOUR_STRING[YOUR_STRING.find(headers[0]):YOUR_STRING.find(headers[1])]
使用循环和其他工具,这应该可以帮助您实现您的目标。
关于python - 如何使用python读取文件?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35465407/