python 了解文件读写
时间: 2025-01-06 10:46:38 浏览: 8
### Python 文件读写教程
#### 所有具备 `read` 和 `write` 方法的对象均属于 `file` 类型
在 Python 中,任何拥有 `read` 和 `write` 方法的对象都被视为 `file` 类型。这些对象可以通过 `open()` 函数来获取,并能够利用 `close()` 方法关闭或是由 `with` 上下文管理器自动处理[^1]。
#### 使用 `open()` 函数打开文件
为了执行文件的读取或写入操作,需调用内置函数 `open()` 来获得一个文件对象。此函数接受多个参数用于指定如何访问文件:
- `file`: 表示目标文件的具体路径。
- `mode`: 定义了打开模式,默认为只读 (`'r'`);其他常用模式包括写入 (`'w'`)、追加 (`'a'`) 及二进制形式(`'b'`)等。
- `encoding`: 设置编码方式,在处理文本文件时尤为重要。
以下是创建文件对象的一般语法结构[^2]:
```python
f = open('example.txt', 'r') # 创建一个仅可读取的文件对象
```
#### 关闭文件连接
当完成对文件的操作之后应当及时释放资源,这可通过显式调用 `.close()` 或者借助于 `with...as` 结构实现自动化管理:
```python
# 显式的关闭文件
f.close()
# 自动化管理文件生命周期
with open('example.txt', 'r') as f:
content = f.read()
print(content) # 此处已经离开了 with 的作用域,因此不需要再手动关闭文件
```
#### 进行基本的读写操作
对于已成功建立联系并处于适当状态下的文件对象来说,可以运用如下几种常见方法来进行数据交互:
- **读取整个文件内容**
如果希望一次性加载全部内容到内存,则可以直接使用 `.read()` 方法:
```python
data = f.read() # 将文件指针指向的内容作为字符串返回
```
- **逐行读取**
若要逐行遍历大尺寸文档而不占用过多空间,推荐采用迭代的方式:
```python
for line in f:
print(line.strip()) # 移除每行结尾多余的空白字符后再打印出来
```
- **向文件内写入新信息**
当以 `'w'`, `'a'` 等允许修改权限的形式开启后,便能通过 `.write(string)` 向其中添加新的条目:
```python
message = "Hello world!"
f.write(message + '\n')
```
注意:如果是以覆盖模式(即 `'w'`)打开现有文件的话,原有的一切记录将会被清除重置!
阅读全文