导图社区 Python学习之文件操作
这是一篇关于Python学习之文件操作的思维导图,主要内容包括:4. 总结 文件操作打开文件:使用 open() 或 with open()。读取文件:read()、readline()、readlines()。写入文件:write()、writelines()。推荐使用 with:自动管理文件资源,避免忘记关闭文件。文件路径os 模块:传统工具。
编辑于2025-02-13 03:29:00这是一篇关于Deep深度思考模型的思维导图,主要内容包括:深度思考的本质不是增加信息量,而是提升信息处理质量。每次思考时给自己设置"认知过筛器":这个结论经得起哪几个学科的检验?在哪些边界条件下可能失效?是否有更底层的解释模型?通过持续追问,逐渐建立多维度、可迭代的认知体系,第8个月:形成"思维弹性",可在不同认知模式间切换,第3个月:出现"认知透视感",
这是一篇关于学霸都在用的六种笔记方法的思维导图,主要内容包括:五星笔记法,艾宾浩斯学习法,番茄钟学习法,费曼学习法,海马体背书法,康奈尔笔记法。
这是一篇关于Python学习路径的思维导图,主要内容包括:阶段 9:项目实践 学习目标:综合运用所学知识,开发实际项目。所学知识及用处:提升解决实际问题的能力。积累项目经验。阶段 8:高级主题学习目标:深入了解一些高级特性,如生成器、装饰器等。所学知识及用处:生成器:节省内存,处理大规模数据。装饰器:增强函数的功能。
社区模板帮助中心,点此进入>>
这是一篇关于Deep深度思考模型的思维导图,主要内容包括:深度思考的本质不是增加信息量,而是提升信息处理质量。每次思考时给自己设置"认知过筛器":这个结论经得起哪几个学科的检验?在哪些边界条件下可能失效?是否有更底层的解释模型?通过持续追问,逐渐建立多维度、可迭代的认知体系,第8个月:形成"思维弹性",可在不同认知模式间切换,第3个月:出现"认知透视感",
这是一篇关于学霸都在用的六种笔记方法的思维导图,主要内容包括:五星笔记法,艾宾浩斯学习法,番茄钟学习法,费曼学习法,海马体背书法,康奈尔笔记法。
这是一篇关于Python学习路径的思维导图,主要内容包括:阶段 9:项目实践 学习目标:综合运用所学知识,开发实际项目。所学知识及用处:提升解决实际问题的能力。积累项目经验。阶段 8:高级主题学习目标:深入了解一些高级特性,如生成器、装饰器等。所学知识及用处:生成器:节省内存,处理大规模数据。装饰器:增强函数的功能。
Python学习之文件操作
基本语法 python 运行复制 file_object = open(file, mode, encoding) file:文件路径(可以是相对路径或绝对路径)。 mode:文件打开模式,常用模式如下: "r":只读模式(默认)。 "w":写模式(会覆盖文件内容,如果文件不存在会创建)。 "a":追加模式(在文件内容末尾追加)。 "rb" / "wb":以二进制模式读/写文件。 encoding:文本文件的编码方式(如 utf-8)
1.2 读取文件 (1) 使用 read() 读取整个文件的内容为字符串。 python 运行复制 with open("example.txt", "r", encoding="utf-8") as file: content = file.read() print(content) (2) 使用 readline() 逐行读取文件,每次读取一行。 python 运行复制 with open("example.txt", "r", encoding="utf-8") as file: line = file.readline() while line: print(line.strip()) # 去掉行末的换行符 line = file.readline() (3) 使用 readlines() 读取文件的所有行,返回一个列表(每行作为列表中的一个元素)。 python 运行复制 with open("example.txt", "r", encoding="utf-8") as file: lines = file.readlines() for line in lines: print(line.strip())
1.3 写入文件 (1) 使用 write() 写入字符串到文件。 python 运行复制 with open("output.txt", "w", encoding="utf-8") as file: file.write("Hello, World!\n") file.write("This is a Python file operation example.") (2) 使用 writelines() 写入列表内容到文件(每个元素为一行)。 python 运行复制 lines = ["First line\n", "Second line\n", "Third line\n"] with open("output.txt", "w", encoding="utf-8") as file: file.writelines(lines)
1.4 使用 with 语句 with 是处理文件操作的推荐方式,它会自动关闭文件,避免资源泄露。 当 with 代码块执行完毕时,文件会被自动关闭。 示例 python 运行复制 with open("example.txt", "r", encoding="utf-8") as file: content = file.read() print(content) # 自动关闭文件,无需手动调用 file.close()
1.5 文件的追加 使用 "a" 模式在文件末尾追加内容。 python 运行复制 with open("output.txt", "a", encoding="utf-8") as file: file.write("\nAppended line.")
Python 提供了两个主要的模块管理文件路径和目录: os 模块 pathlib 模块(Python 3.4 引入,推荐使用)
2.1 使用 os 模块 (1) 获取当前工作目录 python 运行复制 import os current_dir = os.getcwd() print("当前工作目录:", current_dir) (2) 改变工作目录 python 运行复制 os.chdir("/path/to/new/directory") print("工作目录已更改:", os.getcwd()) (3) 创建目录 python 运行复制 os.mkdir("new_folder") # 创建单个目录 os.makedirs("path/to/nested_folder") # 创建多层目录 (4) 删除目录 python 运行复制 os.rmdir("new_folder") # 删除空目录 os.removedirs("path/to/nested_folder") # 递归删除多层空目录 (5) 列出目录内容 python 运行复制 files_and_dirs = os.listdir(".") print(files_and_dirs) (6) 判断文件或目录是否存在 python 运行复制 exists = os.path.exists("example.txt") print("文件是否存在:", exists) (7) 文件路径的拼接 python 运行复制 file_path = os.path.join("/path/to/directory", "example.txt") print(file_path) (8) 获取文件信息 python 运行复制 file_info = os.stat("example.txt") print(file_info)
2.2 使用 pathlib 模块 pathlib 是处理路径的现代化工具,提供了面向对象的接口。 (1) 创建路径对象 python 运行复制 from pathlib import Path # 当前目录 current_path = Path(".") print(current_path.resolve()) # 获取绝对路径 (2) 检查文件或目录 python 运行复制 file = Path("example.txt") print(file.exists()) # 检查是否存在 print(file.is_file()) # 是否是文件 print(file.is_dir()) # 是否是目录 (3) 创建目录 python 运行复制 Path("new_folder").mkdir() # 创建单个目录 Path("path/to/nested_folder").mkdir(parents=True, exist_ok=True) # 创建多层目录 (4) 遍历目录 python 运行复制 for path in Path(".").iterdir(): print(path) (5) 文件路径操作 python 运行复制 file = Path("example.txt") print(file.name) # 文件名 print(file.stem) # 文件名(不含扩展名) print(file.suffix) # 文件扩展名 print(file.parent) # 父目录 (6) 文件读写 python 运行复制 file = Path("example.txt") # 写入文件 file.write_text("Hello, Pathlib!", encoding="utf-8") # 读取文件 content = file.read_text(encoding="utf-8") print(content) 3. 示例:文件操作与路径结合 示例:统计一个目录下的所有文件和文件夹 python 运行复制 from pathlib import Path path = Path(".") # 遍历目录 for item in path.iterdir(): if item.is_file(): print(f"文件: {item.name}") elif item.is_dir(): print(f"目录: {item.name}") 示例:复制文件内容 python 运行复制 from pathlib import Path source = Path("example.txt") target = Path("copy_example.txt") # 读取源文件内容并写入目标文件 if source.exists() and source.is_file(): content = source.read_text(encoding="utf-8") target.write_text(content, encoding="utf-8") print(f"{source.name} 已复制到 {target.name}") else: print(f"{source.name} 不存在!")
4. 总结 文件操作 打开文件:使用 open() 或 with open()。 读取文件:read()、readline()、readlines()。 写入文件:write()、writelines()。 推荐使用 with:自动管理文件资源,避免忘记关闭文件。 文件路径 os 模块:传统工具,功能全面。 操作路径:os.path。 管理目录:os.mkdir()、os.rmdir()。 文件信息:os.stat()。 pathlib 模块:面向对象的现代工具,更易读和易用。 路径对象:Path。 操作路径:Path("example.txt").suffix。 读写文件:file.read_text() 和 file.write_text()。 推荐使用 pathlib 处理路径,代码更简洁清晰!