悠闲博客-blog.yxrjt.cn

Python3 OS 文件/目录方法

更新时间:2025-09-22 17:50点击:60

os 模块是 Python 标准库中的一个重要模块,它提供了与操作系统交互的功能。

通过 os 模块,你可以执行文件操作、目录操作、环境变量管理、进程管理等任务。

os 模块是跨平台的,这意味着你可以在不同的操作系统(如 Windows、Linux、macOS)上使用相同的代码。

在使用 os 模块之前,你需要先导入它。导入 os 模块的代码如下:

import os

os 模块的常用功能

1. 获取当前工作目录

os.getcwd() 函数用于获取当前工作目录的路径。当前工作目录是 Python 脚本执行时所在的目录。

实例

current_directory = os.getcwd()
print("当前工作目录:", current_directory)

2. 改变当前工作目录

os.chdir(path) 函数用于改变当前工作目录。path 是你想要切换到的目录路径。

实例

os.chdir("/path/to/new/directory")
print("新的工作目录:", os.getcwd())

3. 列出目录内容

os.listdir(path) 函数用于列出指定目录中的所有文件和子目录。如果不提供 path 参数,则默认列出当前工作目录的内容。

实例

files_and_dirs = os.listdir()
print("目录内容:", files_and_dirs)

4. 创建目录

os.mkdir(path) 函数用于创建一个新的目录。如果目录已经存在,会抛出 FileExistsError 异常。

实例

os.mkdir("new_directory")

5. 删除目录

os.rmdir(path) 函数用于删除一个空目录。如果目录不为空,会抛出 OSError 异常。

实例

os.rmdir("new_directory")

6. 删除文件

os.remove(path) 函数用于删除一个文件。如果文件不存在,会抛出 FileNotFoundError 异常。

实例

os.remove("file_to_delete.txt")

7. 重命名文件或目录

os.rename(src, dst) 函数用于重命名文件或目录。src 是原始路径,dst 是新的路径。

实例

os.rename("old_name.txt", "new_name.txt")

8. 获取环境变量

os.getenv(key) 函数用于获取指定环境变量的值。如果环境变量不存在,返回 None

实例

home_directory = os.getenv("HOME")
print("HOME 目录:", home_directory)

9. 执行系统命令

os.system(command) 函数用于在操作系统的 shell 中执行命令。命令执行后,返回命令的退出状态。

实例

os.system("ls -l")

  import os
current_directory = os.getcwd() #1. 获取当前工作目录
print("当前工作目录:", current_directory)

os.chdir("test") #2. 改变当前工作目录
print("新的工作目录:", os.getcwd())

files_and_dirs = os.listdir() #3. 列出目录内容
print("目录内容:", files_and_dirs)
print(str(len(files_and_dirs))+files_and_dirs[0])

os.mkdir("new_directory") #4. 创建目录

os.rmdir("new_directory") #5. 删除目录

with open("file_to_delete.txt",'w') as f:
f.write("test")
os.remove("file_to_delete.txt") #6. 删除文件

with open("old_name.txt",'w') as f:
f.write("test")
os.remove("new_name.txt")
os.rename("old_name.txt", "new_name.txt") #7. 重命名文件或目录

home_directory = os.getenv("HOME") #8. 获取环境变量os.getenv(key) 函数用于获取指定环境变量的值。如果环境变量不存在,返回 None
print("HOME 目录:", home_directory)

os.system("dir") #9.os.system(command) 函数用于在操作系统的 shell 中执行命令。命令执行后,返回命令的退出状态。

Python3 os.access() 方法

概述

os.access() 方法使用当前的uid/gid尝试访问路径。大部分操作使用有效的 uid/gid, 因此运行环境可以在 suid/sgid 环境尝试。

语法

access()方法语法格式如下:

os.access(path, mode);

参数

  • path -- 要用来检测是否有访问权限的路径。

  • mode -- mode为F_OK,测试存在的路径,或者它可以是包含R_OK, W_OK和X_OK或者R_OK, W_OK和X_OK其中之一或者更多。

    • os.F_OK: 作为access()的mode参数,测试path是否存在。
    • os.R_OK: 包含在access()的mode参数中 , 测试path是否可读。
    • os.W_OK 包含在access()的mode参数中 , 测试path是否可写。
    • os.X_OK 包含在access()的mode参数中 ,测试path是否可执行。

返回值

如果允许访问返回 True , 否则返回False。

实例

以下实例演示了 access() 方法的使用:


import os, sys

# 假定 data.txt 文件存在,并有读写权限

ret = os.access("data.txt", os.F_OK)
print ("F_OK - 返回值 %s"% ret)

ret = os.access("data.txt", os.R_OK)
print ("R_OK - 返回值 %s"% ret)

ret = os.access("data.txt", os.W_OK)
print ("W_OK - 返回值 %s"% ret)

ret = os.access("data.txt", os.X_OK)
print ("X_OK - 返回值 %s"% ret)


执行以上程序输出结果为:

F_OK - 返回值 True
R_OK - 返回值 True
W_OK - 返回值 True
X_OK - 返回值 False

Python3 os.replace 方法

概述

os.replace() 方法用于重命名文件或目录。

Python3.3 版中的新功能。

语法

replace()方法语法格式如下:

os.replace(src, dst, *, src_dir_fd=None, dst_dir_fd=None)

将文件或目录 src 重命名为 dst,如果 dst 是非空目录,则会引发 OSError。 如果 dst 存在并且是一个文件,如果用户有权限,它将被替换。

参数

  • src -- 源文件或目录,如果该目录文件不存在会引发错误 FileNotFoundError。

  • dst -- 重命名后的文件或目录,如果已存在,会直接替换。

  • src_dir_fd -- 相对目录描述符的路径。

  • dst_dir_fd -- 相对目录描述符的路径。

返回值

如果执行成功,重命名将是一个原子操作(这是 POSIX 要求),失败返回 OSError。

实例

以下实例演示了 replace() 方法的使用:

文本 google.txt 内容为:

google

实例

import os
 
# 重命名文件或目录
os.replace('google.txt','runoob.txt')

执行只剩下一个 runoob.txt,内容为:

google

如果替换后的文件 dst 是已存在的,会替换:

文本 test1.txt 内容为:

google

文本 test2.txt 内容为:

runnob

实例

import os
 
# 重命名文件或目录
os.replace('test1.txt','test2.txt')

执行只剩下一个 test2.txt,内容为:

google





1
2
3

栏目分类

联系方式
  • help@yxrjt.cn
  • lgc@yxrjt.cn
  • admin@yxrjt.cn