【基础】文件读写操作:文本文件与二进制文件
发布时间: 2024-06-27 15:08:09 阅读量: 7 订阅数: 17 ![](https://csdnimg.cn/release/wenkucmsfe/public/img/col_vip.0fdee7e1.png)
![](https://csdnimg.cn/release/wenkucmsfe/public/img/col_vip.0fdee7e1.png)
![【基础】文件读写操作:文本文件与二进制文件](https://img-blog.csdnimg.cn/20210317092147823.png?x-oss-process=image/watermark,type_ZmFuZ3poZW5naGVpdGk,shadow_10,text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L3dlaXhpbl80NDg4NzI3Ng==,size_16,color_FFFFFF,t_70)
# 1. 文件读写操作基础
文件读写操作是计算机系统中一项重要的基本功能,它允许程序与外部存储设备(如硬盘、U盘)进行数据交互。在 Python 中,文件读写操作主要通过内置的 `open()` 函数实现。
`open()` 函数的语法为:
```python
open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None)
```
其中,`file` 参数指定要打开的文件路径;`mode` 参数指定打开文件的模式,常见模式有:
* `r`:以只读模式打开文件
* `w`:以只写模式打开文件,如果文件不存在则创建,如果文件已存在则覆盖
* `a`:以追加模式打开文件,如果文件不存在则创建,如果文件已存在则在文件末尾追加
* `r+`:以读写模式打开文件,文件必须已存在
* `w+`:以读写模式打开文件,如果文件不存在则创建,如果文件已存在则覆盖
* `a+`:以读写模式打开文件,如果文件不存在则创建,如果文件已存在则在文件末尾追加
# 2. 文本文件读写实践
### 2.1 文本文件读取
文本文件读取是文件读写操作中最为常见的一种操作,它可以将文本文件中的内容读取到程序中进行处理。Python提供了多种方式来读取文本文件,下面将分别介绍单行读取和多行读取两种方式。
#### 2.1.1 单行读取
单行读取是指一次读取文本文件中的单行内容,可以使用`readline()`方法实现。`readline()`方法会返回文本文件中的下一行内容,如果文件已读到末尾,则返回一个空字符串。
```python
with open('text.txt', 'r') as f:
line = f.readline()
print(line) # 输出文本文件中的第一行内容
```
#### 2.1.2 多行读取
多行读取是指一次读取文本文件中的多行内容,可以使用`readlines()`方法实现。`readlines()`方法会将文本文件中的所有行内容读入一个列表中,每个元素代表一行内容。
```python
with open('text.txt', 'r') as f:
lines = f.readlines()
print(lines) # 输出文本文件中的所有行内容
```
### 2.2 文本文件写入
文本文件写入是指将内容写入到文本文件中,Python提供了两种写入方式:追加写入和覆盖写入。
#### 2.2.1 追加写入
追加写入是指在文本文件的末尾追加内容,可以使用`write()`方法实现。`write()`方法会将指定的内容追加到文本文件的末尾。
```python
with open('text.txt', 'a') as f:
f.write('追加写入的内容')
```
#### 2.2.2 覆盖写入
覆盖写入是指将内容写入到文本文件中,并覆盖原有内容,可以使用`write()`方法实现。`write()`方法会将指定的内容写入到文本文件的开头,覆盖原有内容。
```python
with open('text.txt', 'w') as f:
f.write('覆盖写入的内容')
```
# 3. 二进制文件读写实践
### 3.1 二进制文件读取
#### 3.1.1 按字节读取
按字节读取二进制文件是最基本的操作方式,它逐个字节地读取文件内容。Python 中使用 `read()` 方法按字节读取二进制文件,该方法返回一个字节对象。
```python
with open("binary_file.bin", "rb") as f:
byte_data = f.read()
```
0
0
相关推荐
![pdf](https://img-home.csdnimg.cn/images/20210720083512.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![-](https://csdnimg.cn/download_wenku/file_type_column_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)
![](https://csdnimg.cn/download_wenku/file_type_ask_c1.png)