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模块的使用方法。