导入
数据操作:系统工作流程
了解如何收集和上传文件,这是数据处理过程中的关键步骤。
文件系统操作用于数据处理
| 模块 | 用途 | 优点 | 缺点 |
|---|---|---|---|
| open | 简化文件访问 | 直接且易于使用 | 对文件流的控制较弱 |
| tempfile | 管理临时文件 | 高效处理大型数据集 | 仅限于临时存储 |
| os | 与操作系统交互 | 提供全面的系统操作功能 | 使用起来可能较为复杂 |
| shutil | 执行高级文件操作 | 支持如文件复制等高层操作 | 不适用于精细控制 |
| io | 简化数据流操作 | 高效处理数据流 | 主要用于数据流场景 |
| pathlib | 简化路径管理 | 路径和文件操作直观易懂 | 较新,部分用户可能不熟悉 |
使用 open 模块简化文件访问
1# 以读取模式 ('r') 打开文件并打印其内容 2with open('/usercode/text_example.txt', 'r') as my_text: 3 content = my_text.read() 4 print(content)
在这段代码中,我们执行了以下步骤:
- 第1–2行:打开文件,并将其命名为
my_text。 - 第3–4行:读取文件中的内容并打印出来。
使用 tempfile 模块管理临时文件
1import tempfile 2 3# 创建一个临时文件 4with tempfile.TemporaryFile() as temp_file: 5 6 # 定义文本内容 7 text = 'Welcome to the world of digital data!' 8 9 # 处理文本:编码为字节 10 text = text.encode('utf-8') 11 temp_file.write(text) 12 13 # 从文件中读取内容 14 temp_file.seek(0) 15 print(temp_file.read())
在这段代码中,我们执行了以下步骤:
- 第1行:导入所需的库。
- 第3–4行:创建一个临时文件并命名为
temp_file。 - 第6–7行:定义要写入的文本内容。
- 第9–11行:将文本编码为 UTF-8 字节格式,以便在内存中存储和写入。
- 第13–15行:将文件指针移回开头,并读取文件内容。
注意:该临时文件在关闭后会自动删除。
使用 os 模块与操作系统交互
1import os 2 3# 获取当前工作目录 4current_directory = os.getcwd() 5 6# 拼接路径 7print('-'*80) 8path = os.path.join(current_directory, 'text_example.txt') 9print('拼接后的路径: ' + str(path)) 10 11# 检查路径是否存在 12print('-'*80) 13exists = os.path.exists(path) 14print('路径是否存在: ' + str(exists)) 15print('-'*80)
在这段代码中,我们执行了以下步骤:
- 第1行:导入所需的库。
- 第3–4行:获取当前工作目录。
- 第6–9行:将当前目录与文件名拼接成完整路径,并输出结果。
- 第11–15行:检查该路径对应的文件是否存在,并打印判断结果。
使用 shutil 模块进行高级文件操作
1import os 2import shutil 3 4# 创建目标目录 5current_directory = os.getcwd() 6destination_path = (current_directory + '/destination') 7os.makedirs(destination_path) 8 9# 定义源文件和目标文件路径 10source_file = current_directory + '/text_example.txt' 11destination_file = os.path.join(destination_path, 'text_sample_copy.txt') 12 13# 复制文件 14shutil.copy(source_file, destination_file) 15print('已将 ' + str(source_file) + ' 复制到 ' + str(destination_file))
在这段代码中,我们执行了以下步骤:
- 第1–2行:导入所需模块。
- 第4–7行:获取当前目录,设置目标路径,并创建目标文件夹。
- 第9–11行:定义源文件路径,拼接目标路径,并指定复制后的文件名。
- 第13–15行:使用
shutil.copy()将文件从源路径复制到目标路径。
使用 io 模块简化数据流处理
1import io 2 3# 使用 BytesIO 创建二进制数据流 4binary_stream = io.BytesIO(b"Data manipulation requires deep understanding of data formats.") 5 6# 从二进制流中读取数据 7binary_stream.seek(0) 8print(binary_stream.read())
在这段代码中,我们执行了以下步骤:
- 第1行:导入所需的库。
- 第3–4行:使用
io.BytesIO将字符串以字节形式加载到内存中,形成可操作的数据流。 - 第6–8行:将读取指针重置到流的起始位置,并读取全部内容。
使用 pathlib 模块简化路径管理
1from pathlib import Path 2 3# 写入文件 4file_path = Path('example_file.txt') 5file_path.write_text("AI is capable of finding patterns in data...") 6 7# 读取文件 8content = file_path.read_text() 9print('文件内容: ' + str(content))
在这段代码中,我们执行了以下步骤:
- 第1行:导入所需的类。
- 第3–5行:定义文件路径,创建文件并将文本写入磁盘。
- 第7–9行:读取文件内容并打印输出。