GoDm@'s Blog

大蟒蛇-os库

版权信息

warning

本文章为博主原创文章。遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。


Python os 模块函数大全速查表

os 模块是 Python 标准库中用于与操作系统交互的接口,涵盖了文件/目录操作、环境变量管理、系统信息获取、进程控制等诸多功能。本文整理了常用函数及示例,便于查阅使用。

os.getcwd()

描述:获取当前工作目录
语法:os.getcwd()
示例:

import os
print(os.getcwd())

os.chdir()

描述:改变当前工作目录
语法:os.chdir(path)
示例:

os.chdir("/home/user")

os.listdir()

描述:返回指定目录下的文件和文件夹列表
语法:os.listdir(path=".")
示例:

print(os.listdir("."))

os.mkdir()

描述:创建单层目录
语法:os.mkdir(path)
示例:

os.mkdir("test")

os.makedirs()

描述:创建多级目录
语法:os.makedirs(path, exist_ok=False)
示例:

os.makedirs("a/b/c", exist_ok=True)

os.rmdir()

描述:删除空目录
语法:os.rmdir(path)
示例:

os.rmdir("test")

os.removedirs()

描述:删除多级空目录
语法:os.removedirs(path)
示例:

os.removedirs("a/b/c")

os.remove()

描述:删除文件
语法:os.remove(path)
示例:

os.remove("file.txt")

os.rename()

描述:重命名文件或目录
语法:os.rename(src, dst)
示例:

os.rename("old.txt", "new.txt")

os.replace()

描述:重命名文件,如果目标已存在会被覆盖
语法:os.replace(src, dst)
示例:

os.replace("a.txt", "b.txt")

os.stat()

描述:获取文件状态信息
语法:os.stat(path)
示例:

info = os.stat("file.txt")
print(info.st_size)

os.walk()

描述:递归遍历目录树
语法:os.walk(top, topdown=True, onerror=None, followlinks=False)
示例:

for root, dirs, files in os.walk("."):
    print(root, dirs, files)

补充:
top:要遍历的顶级目录的路径。
topdown (可选):如果为 True(默认值),则从顶级开始向下遍历。如果为 False,则从底部的子目录开始向上遍历。
onerror (可选):是一个函数,用于错误处理。如果指定,则应该是一个接受单个参数(异常实例)的函数。如果未指定或为 None,错误将被忽略。
followlinks (可选):如果为 True,则会遍历符号链接指向的目录。

os.scandir()

描述:高效迭代目录项
语法:os.scandir(path=".")
示例:

def traversal_files(path):
    for item in os.scandir(path):
        if item.is_dir():
          dirs.append(item.path)

        elif item.is_file():
          files.append(item.path)

    print('dirs:')
    print('\n'.join(dirs))

    print()

    print('files:')
    print('\n'.join(files))

traversal_files(r'./test')

os.path.join()

描述:拼接路径
语法:os.path.join(path, *paths)
示例:

print(os.path.join("folder", "file.txt"))

os.path.abspath()

描述:获取绝对路径
语法:os.path.abspath(path)
示例:

print(os.path.abspath("test.txt"))

os.path.basename()

描述:获取路径中的文件名
语法:os.path.basename(path)
示例:

print(os.path.basename("/home/user/file.txt"))

os.path.dirname()

描述:获取路径中的目录部分
语法:os.path.dirname(path)
示例:

print(os.path.dirname("/home/user/file.txt"))

os.path.exists()

描述:判断路径是否存在
语法:os.path.exists(path)
示例:

print(os.path.exists("file.txt"))

os.path.isfile()

描述:判断路径是否为文件
语法:os.path.isfile(path)
示例:

print(os.path.isfile("file.txt"))

os.path.isdir()

描述:判断路径是否为目录
语法:os.path.isdir(path)
示例:

print(os.path.isdir("folder"))

os.path.splitext()

描述:分离文件名与扩展名
语法:os.path.splitext(path)
示例:

print(os.path.splitext("file.txt"))

os.path.getsize()

描述:获取文件大小(字节)
语法:os.path.getsize(path)
示例:

print(os.path.getsize("file.txt"))

os.environ

描述:环境变量相关
语法:os.environ
示例:

# 获取环境变量
value = os.environ.get("HOME") # 如果不存在返回 None
# 修改环境变量
os.environ["MY_VAR"] = "123"
os.environ["PATH"] = os.environ["PATH"] + ":/my/custom/path"
# 删除 MY_VAR
del os.environ["MY_VAR"]  

os.system()

描述:执行系统命令 不推荐,推荐subprocess
语法:os.system(command)
示例:

os.system("ls")

os.popen()

描述:执行命令并获取输出
语法:os.popen(command)
示例:

output = os.popen("ls").read()
print(output)

os.getpid()

描述:获取当前进程 ID
语法:os.getpid()
示例:

print(os.getpid())

os.getppid()

描述:获取父进程 ID
语法:os.getppid()
示例:

print(os.getppid())

os.getlogin()

描述:获取当前登录用户
语法:os.getlogin()
示例:

print(os.getlogin())

os.getuid() / os.getgid()

描述:获取当前进程用户/组 ID
语法:os.getuid() / os.getgid()
示例:

print(os.getuid(), os.getgid())

os.setuid() / os.setgid()

描述:设置用户/组 ID
语法:os.setuid(uid) / os.setgid(gid)
示例:

os.setuid(1000)

os.umask()

描述:设置文件创建掩码
语法:os.umask(mask)
示例:

os.umask(0o022)

os.chmod()

描述:修改文件权限
语法:os.chmod(path, mode)
示例:

os.chmod("file.txt", 0o644)

描述:创建硬链接
语法:os.link(src, dst)
示例:

os.link("a.txt", "b.txt")

描述:创建符号链接
语法:os.symlink(src, dst)
示例:

os.symlink("a.txt", "link.txt")

描述:获取符号链接指向的路径
语法:os.readlink(path)
示例:

print(os.readlink("link.txt"))

os.utime()

描述:修改文件的访问和修改时间
语法:os.utime(path, times=None)
示例:

os.utime("file.txt", (1620000000, 1620000000))

os.truncate()

描述:截断文件到指定大小
语法:os.truncate(path, length)
示例:

os.truncate("file.txt", 100)

os.urandom()

描述:生成随机字节数据
语法:os.urandom(n)
示例:

print(os.urandom(16))

os.cpu_count()

描述:返回 CPU 核心数
语法:os.cpu_count()
示例:

print(os.cpu_count())

os.uname()

描述:返回操作系统信息
语法:os.uname()
示例:

print(os.uname())

os.name

描述:获取操作系统类型标识
语法:os.name
示例:

print(os.name)

os.sep

描述:路径分隔符
语法:os.sep
示例:

print(os.sep)

os.linesep

描述:行分隔符
语法:os.linesep
示例:

print(repr(os.linesep))

os.pathsep

描述:系统路径分隔符
语法:os.pathsep
示例:

print(os.pathsep)

os.devnull

描述:空设备路径,用于丢弃输出
语法:os.devnull
示例:

with open(os.devnull, "w") as f:
    f.write("This goes nowhere")

共计约1.4k字。于2025/09/28首次发布,最后更新于2025/09/28。

本文章为博主原创文章。遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。

AI辅助创作:本文部分内容由 ChatGPT 5 生成,最终版本由作者审核与修改。了解该AI模型

#python | #os |
  1. Python os 模块函数大全速查表
    1. os.getcwd()
    2. os.chdir()
    3. os.listdir()
    4. os.mkdir()
    5. os.makedirs()
    6. os.rmdir()
    7. os.removedirs()
    8. os.remove()
    9. os.rename()
    10. os.replace()
    11. os.stat()
    12. os.walk()
    13. os.scandir()
    14. os.path.join()
    15. os.path.abspath()
    16. os.path.basename()
    17. os.path.dirname()
    18. os.path.exists()
    19. os.path.isfile()
    20. os.path.isdir()
    21. os.path.splitext()
    22. os.path.getsize()
    23. os.environ
    24. os.system()
    25. os.popen()
    26. os.getpid()
    27. os.getppid()
    28. os.getlogin()
    29. os.getuid() / os.getgid()
    30. os.setuid() / os.setgid()
    31. os.umask()
    32. os.chmod()
    33. os.link()
    34. os.symlink()
    35. os.readlink()
    36. os.utime()
    37. os.truncate()
    38. os.urandom()
    39. os.cpu_count()
    40. os.uname()
    41. os.name
    42. os.sep
    43. os.linesep
    44. os.pathsep
    45. os.devnull