如何从文本文件提取指定行并从中提取括号内值写入新文件
Python 提取指定行并提取括号内数值写入文件
你的现有代码已经能筛选出含track: 1,的行,接下来只需要添加提取括号内数值的正则逻辑,并将结果写入目标文件即可。以下是完整实现:
import re # 用with语句自动管理文件,避免资源泄漏 with open('results1', 'r') as infile, open('output.txt', 'w') as outfile: for line in infile: # 筛选包含"track: 1,"的行 if re.match(r"track: 1,", line): # 提取括号内的数值,正则匹配(数字)的格式 match_num = re.search(r"\((\d+)\)", line) if match_num: # 提取捕获组里的数值,写入文件(加换行符) outfile.write(match_num.group(1) + '\n')
代码说明:
- 文件管理:使用
with语句打开文件,无需手动调用close(),程序结束后会自动释放资源。 - 行筛选:保留你原有的
re.match(r"track: 1,", line)逻辑,确保只处理目标行。 - 数值提取:用
re.search(r"\((\d+)\)", line)匹配括号内的数字,其中(\d+)是捕获组,专门提取括号里的数值部分。 - 写入文件:如果匹配到数值,就将其写入
output.txt文件,每个数值占一行。
如果你的括号内可能包含小数(比如(3.14)),可以把正则改成r"\((\d+\.?\d*)\)",这样就能匹配整数和小数了。
内容的提问来源于stack exchange,提问作者cosmicdust
相关产品推荐
相关产品推荐

