综合百科

为什么有些文件明明存在却找不到

为什么有些文件明明存在却找不到

Python中的文件操作(File I/O)是处理数据持久化的基础功能。以下是一份关于文件操作的全面指南,涵盖常用方法、最佳实践和实际示例:

一、文件操作核心步骤

文件的打开 → 执行读写操作 → 关闭文件。在这一过程中,需要注意的是始终要确保资源的释放,以避免内存泄漏。

二、文件打开模式

文件打开模式决定了文件如何被处理和访问。下面是几种常见的文件打开模式及其描述:

| 模式 | 描述 | 文件存在情况 | 文件不存在情况 |

|||||

| ‘r’ | 只读模式 | 正常打开文件 | 报错,提示FileNotFoundError |

| ‘w’ | 写入模式 | 清空内容 | 创建新文件 |

| ‘a’ | 追加模式 | 保留内容,末尾追加 | 创建新文件 |

| ‘x’ | 独占创建模式 | 报错,提示FileExistsError | 创建新文件 |

| ‘b’ | 二进制模式(如图片) | 需与其他模式组合使用(如 ‘rb’) | |

| ‘+’ | 读写模式(如 ‘r+’ 可读写) | | |

三、基础文件操作

1. 读取文件:

方法一:一次性读取(适合小文件)。例如:

python

with open(‘file.txt’, ‘r’, encoding=’utf-8′) as f:

content = f.read() 全部内容 → str

lines = f.readlines() 按行读取 → List[str]

方法二:逐行读取(内存友好)。例如:

python

with open(‘large_file.txt’, ‘r’) as f:

for line in f: 迭代器逐行处理

print(line.strip())

2. 写入文件:

覆盖写入:使用 ‘w’ 模式,例如:

python

with open(‘output.txt’, ‘w’) as f:

f.write(“Hello”) 写入字符串

f.writelines([“Line1”, “Line2”]) 写入多行

追加写入:使用 ‘a’ 模式。例如:

python

import datetime

with open(‘log.txt’, ‘a’) as f:

f.write(f”{datetime.now()}: New log entry”)

3. 二进制文件操作:例如复制图片文件。使用 ‘rb’ 和 ‘wb’ 模式。例如:`dst.write(src.read())`。


为什么有些文件明明存在却找不到

你可能也会喜欢...