python os模块文件目录操作详解

1. os模块简介

os是python标准库中的一个强大的模块,用于处理文件和目录操作。其可以实现对文件和目录的创建、删除和修改等常用操作,同时还可以获取当前操作系统的相关信息。同时,os模块还提供了一种跨平台的方式,可以在windows、mac OS和Linux等操作系统上运行。在使用os模块之前,需要先导入。

import os

2. 获取当前工作目录

在python程序中,有时候需要获取当前程序的工作目录,可以使用os模块中的getcwd()函数来实现。

import os

path = os.getcwd() # 获取当前工作目录

print(path)

运行上述代码,可以得到当前程序工作目录的路径:

/Users/name/Desktop/

3. 改变当前工作目录

有时候需要更改当前程序的工作目录,可以使用os模块中的chdir()函数来实现。

import os

path = '/Users/name/Desktop/test/'

os.chdir(path) # 将当前工作目录更改为/Users/name/Desktop/test/

运行上述代码,可以把当前工作目录更改为指定的目录,这样程序执行时就会在指定的目录中进行操作。

4. 判断文件/目录是否存在

4.1 判断文件是否存在

在进行文件操作时,有时候需要判断某个文件是否已经存在,可以使用os模块中的path.exists()函数来进行判断。

import os

path = '/Users/name/Desktop/test/file.txt'

if os.path.exists(path):

print('文件已经存在')

else:

print('文件不存在')

运行上述代码,如果文件已经存在,则输出"文件已经存在";如果文件不存在,则输出"文件不存在"。

4.2 判断目录是否存在

判断目录是否存在的方法与判断文件是否存在的方法相似,也可以使用os模块中的path.exists()函数来实现。

import os

path = '/Users/name/Desktop/test/'

if os.path.exists(path):

print('目录已经存在')

else:

print('目录不存在')

运行上述代码,如果目录已经存在,则输出"目录已经存在";如果目录不存在,则输出"目录不存在"。

5. 创建文件/目录

5.1 创建文件

在进行文件操作时,如果需要创建一个新文件,可以使用os模块中的open()函数来实现。

import os

path = '/Users/name/Desktop/test/file.txt'

file = open(path, 'w')

file.close() # 关闭文件

运行上述代码,会在指定目录下创建一个名为file.txt的文件。

5.2 创建目录

除了创建文件外,有时候还需要创建一个新的目录,可以使用os模块中的makedirs()函数来实现。

import os

path = '/Users/name/Desktop/test/directory'

os.makedirs(path) # 创建目录

运行上述代码,会在指定目录下创建一个名为directory的目录。

6. 删除文件/目录

6.1 删除文件

如果需要删除一个文件,可以使用os模块中的remove()函数。

import os

path = '/Users/name/Desktop/test/file.txt'

if os.path.exists(path):

os.remove(path) # 删除文件

运行上述代码,可以删除指定目录下的名为file.txt的文件。

6.2 删除目录

如果需要删除一个目录,可以使用os模块中的rmdir()函数。

import os

path = '/Users/name/Desktop/test/directory'

if os.path.exists(path):

os.rmdir(path) # 删除目录

运行上述代码,可以删除指定目录下的名为directory的目录。

7. 列出目录下的所有文件和子目录

在进行文件操作时,有时候需要列出某个目录下的所有文件和子目录,可以使用os模块中的listdir()函数来实现。

import os

path = '/Users/name/Desktop/test'

files = os.listdir(path) # 列出目录下的所有文件和子目录

for f in files:

print(f)

运行上述代码,可以列出指定目录下的所有文件和子目录。

8. 获取文件/目录属性

8.1 获取文件属性

在进行文件操作时,有时候需要获取某个文件的属性,可以使用os模块中的stat()函数来获取。

import os

path = '/Users/name/Desktop/test/file.txt'

s = os.stat(path) # 获取文件属性

print(s)

运行上述代码,可以得到文件的各种属性信息,如文件大小、权限、创建时间等。

8.2 获取目录属性

与获取文件属性类似,获取目录属性也可以使用os模块中的stat()函数。

import os

path = '/Users/name/Desktop/test'

s = os.stat(path) # 获取目录属性

print(s)

运行上述代码,可以得到目录的各种属性信息,如目录大小、权限、创建时间等。

9. 修改文件/目录权限

9.1 修改文件权限

如果需要修改某个文件的权限,可以使用os模块中的chmod()函数来实现。

import os

path = '/Users/name/Desktop/test/file.txt'

if os.path.exists(path):

os.chmod(path, 0o750) # 修改文件权限

运行上述代码,可以把指定文件的权限修改为-rwxr-x---。

9.2 修改目录权限

如果需要修改某个目录的权限,可以使用os模块中的chmod()函数。

import os

path = '/Users/name/Desktop/test'

if os.path.exists(path):

os.chmod(path, 0o750) # 修改目录权限

运行上述代码,可以把指定目录的权限修改为-rwxr-x---。

10. 获取操作系统相关信息

os模块还可以获取当前操作系统相关信息,例如,获取操作系统类型、获取CPU数量、获取内存信息等。

10.1 获取操作系统类型

可以使用os模块中的uname()函数来获取当前操作系统的类型。

import os

s = os.uname() # 获取操作系统类型

print(s)

运行上述代码,可以得到当前操作系统的类型信息,例如Linux、Windows等。

10.2 获取CPU数量

可以使用os模块中的cpu_count()函数来获取当前机器的CPU数量。

import os

n = os.cpu_count() # 获取CPU数量

print(n)

运行上述代码,可以得到当前机器的CPU数量。

10.3 获取内存信息

可以使用os模块中的system_memory_info()函数来获取当前机器的内存信息。

import os

s = os.system_memory_info() # 获取内存信息

print(s)

运行上述代码,可以得到当前机器的内存信息。

11. 总结

os模块是python标准库中非常常用的一个模块,其主要用于文件和目录操作。本文介绍了os模块中常见的函数和用法,包括获取当前工作目录、更改当前工作目录、判断文件/目录是否存在、创建文件/目录、删除文件/目录、列出目录下的所有文件和子目录、获取文件/目录属性、修改文件/目录权限、获取操作系统相关信息等。通过学习本文,读者可以更加熟练地掌握os模块的使用方法。

后端开发标签