python中怎么打开文件

Python中打开文件主要用open()函数,推荐配合with语句和encoding参数使用,如with open("data.txt", "r", encoding="utf-8") as f: content = f.read()。

在 Python 中打开文件,主要用内置的 open() 函数。它返回一个文件对象,后续才能读写内容。

基本用法:open(文件路径, 模式)

最常用的形式是传入文件路径和打开模式(字符串):

  • "r":只读(默认),文件必须存在,否则报错
  • "w":写入,会清空原文件内容;若文件不存在则新建
  • "a":追加,在文件末尾添加内容,不覆盖原有内容
  • "r+":可读可写,文件必须存在
  • 加上 "b"(如 "rb")表示二进制模式,处理图片、音频等非文本文件

推荐写法:配合 with 语句自动关闭

手动调用 .close() 容易遗漏,导致资源占用或写入失败。用 with 最安全:

```python
with open("data.txt", "r", encoding="utf-8") as f:
  content = f.read()
  print(content)
```

离开 with 块后,文件自动关闭,无需写 f.close()

注意编码问题(尤其中文)

Windows 默认编码常是 gbk,而 Python 3 默认用 utf-8。如果文件是中文且乱码,显式指定 encoding 参数:

  • encoding="utf-8"(常见于网页、VS Code 保存的文件)
  • encoding="gbk""gb2312"(常见于 Windows 记事本旧文件)

常见错误和检查点

  • 文件路径错误 → 报 FileNotFoundError,先确认路径对不对(可用 os.path.exists() 检查)
  • 权限不足(比如用 "w" 打开只读文件)→ 报 PermissionError
  • 忘记指定 encoding 读中文 → 报 UnicodeDecodeError
  • 用 "w" 模式误删了原文件 → 写之前确认模式是否正确

基本上就这些。记住 with + open + encoding,90% 的文件操作都稳了。