目录

  • 1. 文件操作
  • 2. 目录操作
  • 3. 路径操作
  • 4. 文件属性
  • 5. 系统相关信息
  • 6. 其他注意事项


os 模块是 Python 的标准库中的一个模块,它提供了许多与操作系统交互的功能。这使得我们可以执行诸如读取、写入文件或目录,获取系统信息等与操作系统相关的任务。官网对os模块进行了详细的介绍,所以本文介绍其主要用法。

1. 文件操作

  • os.rename(src, dst)
    重命名文件或目录。
os.rename("old_name.txt", "new_name.txt")  # 将文件 "old_name.txt" 重命名为 "new_name.txt"
  • os.remove(path)
    删除指定的文件。
os.remove("filename.txt")  # 删除 "filename.txt" 文件

2. 目录操作

  • os.mkdir(path)
    创建一个目录。
os.mkdir("new_directory")  # 创建一个名为 "new_directory" 的目录
  • os.rmdir(path)
    删除一个目录。
os.rmdir("directory_name")  # 删除 "directory_name" 目录
  • os.listdir(path)
    列出指定目录的文件和子目录。
files = os.listdir(".")  # 列出当前目录的所有文件和子目录
print(files)  # ['file1.txt', 'file2.txt', 'directory1', ...]
  • os.getcwd()
    获取当前工作目录。
current_directory = os.getcwd()
print(current_directory)  # 输出例如 "/home/user/myfolder"
  • os.chdir(path)
    改变当前工作目录。
os.chdir("/path/to/directory")  # 更改当前工作目录到 "/path/to/directory"

3. 路径操作

  • os.path.join(a, *p)
    将多个路径组合后返回。
full_path = os.path.join("/folder1", "folder2", "filename.txt")
print(full_path)  # "/folder1/folder2/filename.txt"
  • os.path.split(path)
    分割文件名与路径。
path, filename = os.path.split("/path/to/filename.txt")
print(path)  # "/path/to"
print(filename)  # "filename.txt"
  • os.path.abspath(path)
    返回绝对路径。
absolute_path = os.path.abspath("filename.txt")
print(absolute_path)  # 例如: "/current/directory/filename.txt"
  • os.path.dirname(path) & os.path.basename(path)
    获取路径名和文件名。
path_name = os.path.dirname("/path/to/filename.txt")
print(path_name)  # "/path/to"

file_name = os.path.basename("/path/to/filename.txt")
print(file_name)  # "filename.txt"

4. 文件属性

  • os.stat(path)
    获取文件属性。
file_info = os.stat("filename.txt")
print(file_info)  # 输出文件的各种属性,如大小、时间戳等
  • os.path.exists(path)
    检查指定路径(文件或目录)是否存在。
exists = os.path.exists("filename.txt")
print(exists)  # True 或 False

5. 系统相关信息

  • os.name
    当前使用平台。
platform_name = os.name
print(platform_name)  # 'posix' 或 'nt' 等
  • os.environ
    返回一个环境变量字典。
env_vars = os.environ
print(env_vars)  # 输出所有的环境变量
  • os.system(command)
    运行系统的 shell 命令。
os.system("ls")  # 在 UNIX/Linux 上列出当前目录的内容

这只是 os 模块中的一部分功能。为了更深入地了解这个模块,建议查阅 Python 的官方文档。

6. 其他注意事项

在 Windows 系统中,传统的文件路径分隔符是反斜杠 (\)。例如,一个典型的 Windows 文件路径可能是这样的:

C:\Users\Username\Documents\file.txt

然而,许多现代的编程语言和工具,包括 Python,都支持在 Windows 上使用正斜杠 (/) 作为文件路径分隔符。这是因为正斜杠在 Unix 和 Linux 系统中是标准的文件路径分隔符,而大多数工具都希望代码能在多个平台上移植。

例如,在 Python 中,可以使用以下两种方式指定文件路径,它们在 Windows 上都是有效的:

path1 = "C:/Users/Username/Documents/file.txt"
path2 = "C:\\Users\\Username\\Documents\\file.txt"

第一个路径使用正斜杠,而第二个路径使用了双反斜杠(在 Python 字符串中,反斜杠是一个转义字符,所以要表示一个真正的反斜杠,你需要使用 \\)。

尽管如此,当与特定于 Windows 的工具或应用程序交互时(例如某些命令行工具或老旧的软件),仍然建议使用反斜杠。但在编写跨平台的代码时,使用正斜杠或 Python 的 os.path.join() 方法是一个好习惯,这可以确保代码在不同的操作系统上都能正常工作。