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
相关产品推荐
相关产品推荐

