文章目录
Python的os
模块提供了很多与操作系统交互的功能,比如读写文件、操作文件和目录、获取系统环境变量等。
下面我将对os
模块的功能、用法及常见用法进行详细介绍,并提供一些示例代码。
功能
- 文件和目录操作:如创建、删除、读取、写入文件和目录。
- 环境变量:获取和设置环境变量。
- 进程管理:如获取当前工作目录、更改当前工作目录、执行系统命令等。
- 路径操作:如路径的拼接、拆分、获取文件扩展名等。
- 文件和文件系统的权限:如获取和设置文件权限。
- 文件和目录的属性:如获取文件大小、文件创建时间等。
用法
1. 文件和目录操作
os.listdir(path)
: 列出指定目录下的所有文件和子目录名。os.mkdir(path)
: 创建新目录。os.rmdir(path)
: 删除空目录。os.remove(path)
: 删除文件。os.rename(src, dst)
: 重命名文件或目录。
2. 环境变量
os.environ
: 一个映射,表示环境变量。
3. 进程管理
os.getcwd()
: 获取当前工作目录。os.chdir(path)
: 更改当前工作目录。os.system(command)
: 在子shell中执行系统命令。
4. 路径操作
os.path.join(path, *paths)
: 将一个或多个路径组件连接成一个路径名。os.path.split(path)
: 将路径分割为目录名和文件名两部分。os.path.basename(path)
: 返回路径的最后一部分。os.path.dirname(path)
: 返回路径的目录部分。os.path.splitext(path)
: 将路径分割为文件名和扩展名两部分。
5. 文件和文件系统的权限
os.chmod(path, mode)
: 更改文件或目录的权限。
6. 文件和目录的属性
os.path.getsize(path)
: 返回指定文件的大小(以字节为单位)。os.path.exists(path)
: 如果路径存在,返回True;否则返回False。os.path.isfile(path)
: 如果路径是一个存在的文件,返回True;否则返回False。os.path.isdir(path)
: 如果路径是一个存在的目录,返回True;否则返回False。
常见用法示例
1. 列出目录内容
import os
for filename in os.listdir('/path/to/directory'):
print(filename)
2. 读取环境变量
import os
print(os.environ['JAVA_HOME'])
3. 执行系统命令
import os
os.system('ping www.baidu.com')
不是报错,只是编译器的字符编码不同。
4. 拼接路径
import os
path = os.path.join('F://', 'directory', 'file.txt')
print(path)
5. 获取文件大小
import os
size = os.path.getsize('./hw03/code.py')
print(f"The size of the file is {size} bytes.")
6. 更改文件权限
import os
import stat
os.chmod('/path/to/file.txt', stat.S_IRUSR | stat.S_IWUSR | stat.S_IRGRP | stat.S_IROTH)
以上只是os
模块功能的一部分,该模块还提供了许多其他功能,可以查阅Python官方文档获取更多信息。