Python操作文件与文件夹:os模块详解
194 浏览量
更新于2024-09-01
收藏 63KB PDF 举报
"Python文件夹与文件操作教程"
Python在处理文件和文件夹操作时提供了丰富的功能,主要通过内置的`os`和`os.path`模块实现。这些操作涵盖了创建、移动、删除文件以及切换和获取目录等基本任务。下面是对这些操作的详细解释:
1. **获取当前目录**
使用`os.getcwd()`函数可以获取当前工作目录的路径,这有助于确定程序运行时的相对路径。
2. **创建文件夹**
要创建一个新的文件夹,可以使用`os.makedirs(name, exist_ok=True)`。`name`参数是新文件夹的路径。`exist_ok=True`确保如果文件夹已经存在,不会抛出异常。
示例:
```python
import os
import time
folder = time.strftime(r"%Y-%m-%d_%H-%M-%S", time.localtime())
os.makedirs(r'%s/%s' % (os.getcwd(), folder))
```
3. **切换当前目录**
`os.chdir(path)`函数用于改变当前工作目录到指定的`path`。
4. **路径分解**
使用`os.path.split(path)`可以将路径分解成目录和文件名两部分。返回一个包含两个元素的元组,第一个是目录,第二个是文件名。
示例:
```python
a, b = os.path.split("c:\\123\\456\\test.txt")
print(a)
print(b)
```
5. **扩展名分解**
`os.path.splitext(path)`可以将文件路径分解为文件名和扩展名。返回一个包含两个元素的元组,第一个是不带扩展名的文件名,第二个是扩展名。
示例:
```python
a, b = os.path.splitext("c:\\123\\456\\test.txt")
print(a)
print(b)
```
6. **检查路径是否存在**
使用`os.path.exists(path)`可以判断指定的路径是否存在,返回布尔值。如果路径存在,返回`True`;否则,返回`False`。
7. **判断路径是否为文件**
`os.path.isfile(path)`用于判断给定的路径是否表示一个文件。如果是文件,返回`True`;如果是目录或其他,返回`False`。
8. **删除文件和文件夹**
- 删除文件使用`os.remove(path)`,但需要注意,如果文件不存在,会抛出`FileNotFoundError`。
- 删除空的目录使用`os.rmdir(path)`,如果目录非空,会抛出`OSError`。
- 删除包括子文件和子目录在内的整个目录树,可以使用`os.removedirs(path)`,但如果路径不存在,也会抛出异常。
9. **移动和重命名文件/文件夹**
- 使用`os.rename(src, dst)`可以重命名或移动文件或目录,`src`是源文件/目录,`dst`是新的名称或位置。
- 若要将文件或目录移动到另一个位置,也可以使用`shutil.move(src, dst)`,它更健壮,能处理跨设备的移动。
10. **列出目录内容**
`os.listdir(path)`返回指定目录中的所有文件和子目录的列表,不包括隐藏文件。
了解并熟练掌握这些基本操作,能够帮助开发者在Python中有效地管理文件和文件夹。在实际项目中,还可能需要结合其他模块,如`shutil`来完成更复杂的文件操作,如复制、压缩和解压文件等。
点击了解资源详情
点击了解资源详情
点击了解资源详情
2020-12-24 上传
2021-01-19 上传
2021-01-20 上传
2020-09-16 上传
2023-09-11 上传
2023-08-27 上传
weixin_38700240
- 粉丝: 2
- 资源: 976
最新资源
- 全国江河水系图层shp文件包下载
- 点云二值化测试数据集的详细解读
- JDiskCat:跨平台开源磁盘目录工具
- 加密FS模块:实现动态文件加密的Node.js包
- 宠物小精灵记忆配对游戏:强化你的命名记忆
- React入门教程:创建React应用与脚本使用指南
- Linux和Unix文件标记解决方案:贝岭的matlab代码
- Unity射击游戏UI套件:支持C#与多种屏幕布局
- MapboxGL Draw自定义模式:高效切割多边形方法
- C语言课程设计:计算机程序编辑语言的应用与优势
- 吴恩达课程手写实现Python优化器和网络模型
- PFT_2019项目:ft_printf测试器的新版测试规范
- MySQL数据库备份Shell脚本使用指南
- Ohbug扩展实现屏幕录像功能
- Ember CLI 插件:ember-cli-i18n-lazy-lookup 实现高效国际化
- Wireshark网络调试工具:中文支持的网口发包与分析