You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Python文件逐行读取及读取文件内指定文件的实现方法

Python 逐行读取文件及嵌套文件读取处理

一、Python 逐行读取文件的常见方式

  • 使用 with 语句(推荐):这是最安全的写法,会自动处理文件关闭,避免资源泄漏,同时代码简洁易读。
    with open('A.txt', 'r', encoding='utf-8') as f:
        for line in f:
            # line 默认包含末尾换行符,可通过 line.strip() 去除首尾空白
            print(line.strip())
    
  • 使用 readlines() 方法:一次性将所有行读取到列表中,适合小文件;大文件会占用较多内存,不推荐。
    with open('A.txt', 'r', encoding='utf-8') as f:
        lines = f.readlines()
        for line in lines:
            print(line.strip())
    
  • 使用 readline() 循环读取:手动控制读取过程,需注意手动关闭文件,容易遗漏,因此不推荐。
    f = open('A.txt', 'r', encoding='utf-8')
    while True:
        line = f.readline()
        if not line:  # 读取到空行表示文件结束
            break
        print(line.strip())
    f.close()
    

二、先读取文件A的其余行,再读取B.txt的实现

假设文件A内容如下:

B.txt
computer
science

实现思路:先打开文件A,读取第一行获取目标文件名,接着读取并处理剩余所有行,最后再读取目标文件B.txt。

代码示例:

target_filename = None

# 处理文件A
with open('A.txt', 'r', encoding='utf-8') as file_a:
    # 读取第一行并提取目标文件名,去除首尾空白
    first_line = file_a.readline().strip()
    if first_line.endswith('.txt'):
        target_filename = first_line
    
    # 读取并处理文件A的剩余行
    print("文件A的剩余内容:")
    for line in file_a:
        # 可根据需求调整处理逻辑,比如保留缩进或过滤空行
        processed_line = line.strip()
        if processed_line:
            print(processed_line)

# 读取目标文件B.txt
if target_filename:
    try:
        with open(target_filename, 'r', encoding='utf-8') as file_b:
            print(f"\n{target_filename}的内容:")
            for line in file_b:
                print(line.strip())
    except FileNotFoundError:
        print(f"\n错误:未找到文件 {target_filename}")

说明:

  • 读取第一行后,文件指针会自动移到下一行,后续的循环会从第二行开始读取剩余内容。
  • 加入异常处理,避免因目标文件不存在导致程序直接崩溃。
  • 可根据实际需求调整行处理逻辑,比如保留原始缩进、保留空行等。

内容的提问来源于stack exchange,提问作者QueensGambyte

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.12 10:05:24