os库常用操作

本文详细介绍了使用Python的os模块进行文件和文件夹的创建、删除、重命名、路径操作、大小获取以及文件管理等基本操作,包括mkdir/makedirs、rmdir、shutil.rmtree、getcwd、rename等方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

1. 查看操作系统分隔符

os.sep

2. 创建文件夹

os.mkdir('demo')

3. 递归创建文件夹 

如果没有demo文件夹,会先创建demo文件夹,再创建pp文件夹,exist_ok=True表示目标文件夹已存在时不进行操作,也不会报错目录已存在

os.makedirs('demo/pp', exist_ok=True)

4.  删除文件夹

os.rmdir('demo')

 5.删除文件夹及子文件夹和包含的文件

import shutil

shutil.rmtree('kk')

6. 获取当前目录路径 

os.getcwd()

7. 重命名

os.rename('demo', 'demo1')

 

8. 分割目录与文件 

file = 'D:/代码/a.png'
print(os.path.split(file))

9. 判断是否为绝对路径 

file = 'D:/代码/a.png'
print(os.path.isabs(file))

10. 判断路径是否存在 

file = 'D:\python code\测试\main.py'
print(os.path.exists(file))

11.  获取文件大小(单位为字节)

file = 'C:\\Users\\gwb\\Pictures\\绿色荷叶可爱美女4k壁纸_彼岸图网.jpg'
print(os.path.getsize(file))

 

12. 删除文件 

os.remove('1.txt')

13. 列出指定目录下的文件 

print(os.listdir('D:/'))
### Python `os` 常用函数列表 #### 获取当前工作目录 可以使用 `os.getcwd()` 函数来获取当前的工作路径[^2]。 ```python import os current_directory = os.getcwd() print(f"Current Working Directory: {current_directory}") ``` #### 列出指定目录的内容 通过 `os.listdir(path)` 可以返回给定路径下的所有文件和子目录名称组成的列表[^3]。 ```python directory_contents = os.listdir(".") for item in directory_contents: print(item) ``` #### 创建新目录 有两种方式创建新的目录结构: - 使用 `os.mkdir(directory_name)` 来创建单级的新目录,如果上级目录不存在则会抛错。 - 使用 `os.makedirs(directory_name)` 支持多层级创建,即使父级目录也不存在也会一并建立。 ```python try: os.mkdir("new_folder") # 单层创建 except FileExistsError as e: print(e) os.makedirs("parent/child/grandchild", exist_ok=True) # 多层次创建 ``` #### 删除现有目录 对于删除操作也有两种不同的方法: - `os.rmdir(directory_name)` 仅能移除非空的一级目录。 - `os.removedirs(directory_name)` 同样只适用于空目录但是可以从最底层开始逐级向上清理直到遇到非空为止。 ```python os.rmdir("empty_folder") # 需要确保目标为空才能成功执行 os.removedirs("a/b/c") # 自底向上去除一系列连续的空目录 ``` #### 文件处理 涉及具体的文件管理还包括读取、写入以及重命名等功能。这里列举几个常用的例子: - **打开文件**: 直接利用内置的 `open()` 方法即可完成基本的文件IO任务;而为了更安全地操作建议配合上下文管理器(`with`)一起使用。 - **移动或改名文件**: 使用 `shutil.move(src, dst)` 或者 `os.rename(old_path, new_path)` 实现文件的位置变更或是名字更改[^4]。 ```python source_file = "example.txt" destination_file = "/path/to/new_location/example_renamed.txt" # 安全的方式打开文件进行读写 with open(source_file, 'r+') as f: content = f.read() # 更改文件位置及名称 os.rename(source_file, destination_file) ``` #### 路径解析 针对复杂的路径转换需求提供了丰富的辅助工具类如 `os.path` 子模块中的各种静态方法用于标准化不同平台间的差异性表达形式,并支持拆分组合等灵活的操作。 ```python from pathlib import Path relative_path = './data/sample.csv' absolute_path = os.path.abspath(relative_path) normalized_path = os.path.normpath(absolute_path) base_dir, filename = os.path.split(normalized_path) extension = ''.join(Path(filename).suffixes) print(f""" Relative Path: {relative_path} Absolute Path: {absolute_path} Normalized Path: {normalized_path} Base Directory: {base_dir} Filename: {filename} File Extension(s): {extension} """) ```
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值