Python操作文件与文件夹:os模块详解
9 浏览量
更新于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`来完成更复杂的文件操作,如复制、压缩和解压文件等。
2024-07-20 上传
671 浏览量
321 浏览量
1059 浏览量
332 浏览量
点击了解资源详情
点击了解资源详情
1059 浏览量
2023-09-11 上传
weixin_38700240
- 粉丝: 2
- 资源: 976
最新资源
- phpscratch:从头开始开发PHP工具包
- linaconsulting
- H5游戏源码分享-跳得更高
- UART51slave,易语言替换c盘管理员源码,c语言程序
- jdk-11.0.10_linux
- cpuid:适用于x86x86_64的简单CPUID解码器转储器
- homebrew-audio:用于音频插件(例如VST,VST2,VST3,AU,AAX)的Homebrew酒桶
- bb4-set-1.1.2.zip
- cbiaozhukudaima,c语言淘宝客程序源码,c语言程序
- 易语言FTP管理
- csetutorials.com
- ListViewUpData.rar
- amplify-react-app
- u2net_bgremove_code:Jupyter Notebook包含使用u2net删除图像和视频背景的代码
- msp430f149-Timer,c语言scanf源码,c语言程序
- 易语言ftp登录器