首页
技术小册
AIGC
面试刷题
技术文章
MAGENTO
云计算
视频课程
源码下载
PDF书籍
「涨薪秘籍」
登录
注册
第 1章 处理错误和寻求帮助
1.1 如何理解Python错误信息
1.1.1 检查回溯信息
1.1.2 搜索错误信息
1.2 借助linter 避免错误
1.3 如何寻求编程帮助
1.3.1 预先提供信息以避免反复补充
1.3.2 以实际问题的形式陈述问题
1.3.3 在合适的网站上提出你的问题
1.3.4 在标题中概述你的问题
1.3.5 说明代码的预期目的
1.3.6 包含完整的错误信息
1.3.7 分享全部代码
1.3.8 通过适当的格式化增强代码可读性
1.3.9 告诉帮忙者已经尝试过的方法
1.3.10 描述你的设置信息
第 2章 环境设置和命令行
2.1 文件系统
2.1.1 Python中的路径
2.1.2 主目录
2.1.3 当前工作目录
2.1.4 绝对路径和相对路径
2.2 程序和进程
2.3 命令行
2.3.1 打开终端窗口
2.3.2 使用命令行运行程序
2.3.3 使用命令行参数
2.3.4 在命令行中使用-c 运行Python代码
2.3.5 从命令行运行Python 程序
2.3.6 运行py.exe 程序
2.3.7 在Python 程序中运行命令
2.3.8 使用Tab 补全命令减少输入量
2.3.9 查看历史命令
2.3.10 使用常用命令
2.4 环境变量和PATH
2.4.1 查看环境变量
2.4.2 使用PATH 环境变量
2.4.3 更改命令行的PATH 环境变量
2.4.4 在Windows 上将文件夹永久添加到PATH
2.4.5 在macOS 和Linux 上将文件夹永久添加到PATH
2.5 不借助命令行运行Python 程序
2.5.1 在Windows 上运行Python程序
2.5.2 在macOS 上运行Python 程序
2.5.3 在Ubuntu Linux 上运行Python程序
第3章 使用Black 进行代码格式化
3.1 让程序员招人烦的错误做法
3.2 风格指南和PEP 8
3.3 水平间距
3.3.1 使用空格进行缩进
3.3.2 行内间距
3.4 垂直间距
3.4.1 垂直间距示例
3.4.2 垂直间距的最佳实践
3.5 Black:毫不妥协的代码格式化工具
3.5.1 安装Black
3.5.2 在命令行中运行Black
3.5.3 对部分代码禁用Black
当前位置:
首页>>
技术小册>>
Python编程轻松进阶(一)
小册名称:Python编程轻松进阶(一)
### 2.1 文件系统 在Python编程的广阔世界中,文件系统操作是不可或缺的一部分。无论是进行数据分析、Web开发、自动化脚本编写还是任何需要处理存储数据的场景,了解并掌握Python中与文件系统交互的方法都至关重要。本章将深入探讨Python中处理文件系统的基本概念、常用模块、文件与目录操作、以及异常处理等方面的知识,帮助读者轻松进阶Python编程。 #### 2.1.1 文件系统概述 文件系统是操作系统中用于存储和组织文件数据的结构。它管理着数据的存储、检索、更新和删除等操作,是用户和程序访问存储设备的桥梁。在Python中,通过标准库提供的模块,如`os`、`pathlib`(Python 3.4及以上版本推荐)、`shutil`等,可以方便地进行文件系统的操作。 #### 2.1.2 文件与目录的基本操作 ##### 2.1.2.1 使用`os`模块 `os`模块是Python中与操作系统交互的标准库之一,提供了丰富的功能来执行文件系统操作。以下是一些常用的`os`模块函数: - `os.listdir(path)`: 列出指定路径下的所有文件和目录名。 - `os.mkdir(path)`: 创建一个新目录。 - `os.rmdir(path)`: 删除一个空目录。 - `os.remove(path)`: 删除一个文件。 - `os.path.exists(path)`: 判断指定路径是否存在。 - `os.path.isfile(path)`: 判断指定路径是否为文件。 - `os.path.isdir(path)`: 判断指定路径是否为目录。 - `os.path.join(path, *paths)`: 将多个路径组件合并成一个路径。 ##### 示例:使用`os`模块遍历目录 ```python import os def traverse_dir(dir_path): for item in os.listdir(dir_path): full_path = os.path.join(dir_path, item) if os.path.isdir(full_path): print(f"Directory: {full_path}") traverse_dir(full_path) # 递归遍历子目录 elif os.path.isfile(full_path): print(f"File: {full_path}") # 使用示例 traverse_dir('/path/to/directory') ``` ##### 2.1.2.2 使用`pathlib`模块 `pathlib`是Python 3.4引入的一个面向对象的文件系统路径库,它提供了更加直观和易于使用的API来处理文件系统路径。 - `Path.iterdir()`: 迭代目录中的文件和子目录。 - `Path.mkdir(parents=False, exist_ok=False)`: 创建新目录。 - `Path.rmdir()`: 删除空目录。 - `Path.unlink()`: 删除文件或链接。 - `Path.exists()`: 检查路径是否存在。 - `Path.is_dir()`: 检查路径是否为目录。 - `Path.is_file()`: 检查路径是否为文件。 - `Path.joinpath(*other)`: 将多个路径组件合并成一个路径。 ##### 示例:使用`pathlib`遍历目录 ```python from pathlib import Path def traverse_dir_with_pathlib(dir_path): p = Path(dir_path) for item in p.iterdir(): if item.is_dir(): print(f"Directory: {item}") traverse_dir_with_pathlib(item) # 递归遍历子目录 elif item.is_file(): print(f"File: {item}") # 使用示例 traverse_dir_with_pathlib('/path/to/directory') ``` #### 2.1.3 文件内容操作 除了文件和目录的基本管理外,Python还提供了丰富的功能来读取、写入和修改文件内容。 ##### 2.1.3.1 读取文件 - 使用`open()`函数以读取模式(`'r'`)打开文件,然后通过文件对象的`read()`、`readline()`或`readlines()`方法读取内容。 ##### 示例:读取文件内容 ```python with open('example.txt', 'r') as file: content = file.read() print(content) # 或者逐行读取 with open('example.txt', 'r') as file: for line in file: print(line, end='') # 去除换行符 ``` ##### 2.1.3.2 写入文件 - 使用`open()`函数以写入模式(`'w'`)或追加模式(`'a'`)打开文件,然后通过文件对象的`write()`或`writelines()`方法写入内容。 ##### 示例:写入文件内容 ```python with open('output.txt', 'w') as file: file.write("Hello, Python!\n") file.writelines(["This is a new line.\n", "Another line.\n"]) # 追加内容 with open('output.txt', 'a') as file: file.write("Appended line.\n") ``` #### 2.1.4 异常处理 在进行文件系统操作时,可能会遇到各种异常情况,如文件不存在、没有读写权限等。Python提供了`try...except`语句来捕获并处理这些异常。 ##### 示例:异常处理 ```python try: with open('nonexistent_file.txt', 'r') as file: content = file.read() except FileNotFoundError: print("文件不存在") except PermissionError: print("没有权限读取文件") except Exception as e: print(f"发生错误:{e}") ``` #### 2.1.5 进阶话题 - **文件与目录的批量操作**:结合循环和条件判断,可以实现复杂的批量重命名、移动、删除等操作。 - **文件系统的监控**:使用第三方库如`watchdog`可以实现对文件系统的实时监控。 - **大型文件的处理**:对于大文件,应使用分块读取和写入的方法,避免一次性加载整个文件到内存中。 - **文件压缩与解压缩**:使用`zipfile`、`tarfile`等模块可以处理文件的压缩与解压缩。 #### 结语 文件系统操作是Python编程中的基础且重要部分。通过掌握`os`、`pathlib`等模块的使用方法,以及文件内容的读写技巧,可以高效地处理各种文件系统任务。同时,异常处理机制的合理运用,能够增强程序的健壮性和用户友好性。希望本章内容能够帮助读者在Python编程的道路上更进一步,轻松进阶。
上一篇:
第 2章 环境设置和命令行
下一篇:
2.1.1 Python中的路径
该分类下的相关小册推荐:
Python爬虫入门与实战开发(下)
Python数据分析与挖掘实战(下)
剑指Python(磨刀不误砍柴工)
Python3网络爬虫开发实战(上)
Python与办公-玩转Excel
Python合辑7-集合、列表与元组
Python数据分析与挖掘实战(上)
Python合辑12-面向对象
Python合辑8-变量和运算符
Python合辑13-面向对象编程案例(上)
Python自动化办公实战
Python与办公-玩转PDF