如何从2000+行的列表源文件提取每行最后三个元素
解决方案
是的,必须通过循环逐行处理文件内容。以下是用Python实现的具体步骤和代码:
- 用
with语句同时打开源文件和输出文件,自动管理文件的打开与关闭,避免资源泄漏。 - 循环遍历源文件的每一行内容。
- 对每行做预处理:去除首尾空白字符,跳过空行。
- 用
split()方法将每行按任意数量的空格分割成元素列表(自动处理连续空格)。 - 通过列表切片
[-3:]提取最后三个元素,再用空格拼接成字符串。 - 将处理后的内容写入输出文件。
代码示例
# 替换成你的源文件和输出文件路径 source_path = "your_input_file.txt" output_path = "your_output_file.txt" with open(source_path, 'r', encoding='utf-8') as src_file, \ open(output_path, 'w', encoding='utf-8') as out_file: for line in src_file: clean_line = line.strip() if not clean_line: continue elements = clean_line.split() # 确保行内元素数量足够,避免索引错误 if len(elements) >= 3: result = ' '.join(elements[-3:]) out_file.write(result + '\n') else: # 可选:对元素不足的行做提示或记录 print(f"跳过元素不足的行:{clean_line}")
关键细节说明
split()无需指定分隔符,默认会按任意空白字符(空格、制表符等)分割,完全适配你提供的行格式。- 加入空行跳过和元素数量校验,让代码更健壮,避免因异常行导致程序崩溃。
内容的提问来源于stack exchange,提问作者n6pdb
相关产品推荐
相关产品推荐

