第五节 OS模块

一、os库

库的名称:os

作用:包含通用的基本的操作系统交互的功能

使用方法:

import os

二、功能总结

1. system()

作用:将字符串转换成命令运行

清屏功能的实现:clear表示清空的意思

import os
os.system("clear")

2. getcwd()

作用:获取当前工作目录的路径

import os
print(os.getcwd())  # 例如:/home/user/project

3. chdir()

作用:切换当前工作目录

import os
os.chdir("/tmp")       # 切换到 /tmp 目录
print(os.getcwd())     # /tmp

4. listdir()

作用:列出指定目录下的所有文件和子目录

import os
files = os.listdir(".")       # 当前目录
files2 = os.listdir("/tmp")   # 指定目录
print(files)

5. mkdir() 与 makedirs()

作用:创建新目录

  • mkdir() — 创建单级目录,父目录不存在则报错
  • makedirs() — 递归创建多级目录
import os
os.mkdir("testdir")                 # 创建单级目录
os.makedirs("a/b/c")                # 递归创建多级目录

6. rmdir() 与 removedirs()

作用:删除目录

  • rmdir() — 删除单级空目录
  • removedirs() — 递归删除空目录
import os
os.rmdir("testdir")                 # 删除空目录
os.removedirs("a/b/c")             # 递归删除空目录

7. remove()

作用:删除指定文件

import os
os.remove("test.txt")               # 删除文件

8. rename()

作用:重命名文件或目录

import os
os.rename("old.txt", "new.txt")     # 重命名

9. os.path 常用功能

9.1 path.join()

作用:将多个路径拼接成一个完整路径(自动处理分隔符)

import os
full_path = os.path.join("/home", "user", "file.txt")
print(full_path)                    # /home/user/file.txt

9.2 path.exists()

作用:判断文件或目录是否存在

import os
print(os.path.exists("test.txt"))   # True / False

9.3 path.isfile() 与 path.isdir()

作用:判断路径是文件还是目录

import os
print(os.path.isfile("test.txt"))   # True
print(os.path.isdir("/home"))       # True

9.4 path.split() 与 path.splitext()

作用:拆分路径

  • split() — 分离目录和文件名
  • splitext() — 分离文件名和扩展名
import os
dir_name, file_name = os.path.split("/home/user/file.txt")
print(dir_name, file_name)          # /home/user file.txt

name, ext = os.path.splitext("file.txt")
print(name, ext)                    # file .txt

10. environ(环境变量)

作用:获取或设置环境变量

import os
# 获取环境变量
path = os.environ.get("PATH")
print(path)

# 设置环境变量
os.environ["MY_VAR"] = "hello"

11. walk()

作用:递归遍历目录树,返回 (dirpath, dirnames, filenames) 三元组

import os
for dirpath, dirnames, filenames in os.walk("/home/user"):
    print(f"目录: {dirpath}")
    print(f"子目录: {dirnames}")
    print(f"文件: {filenames}")

results matching ""

    No results matching ""