首先,这部分很简单,不需要有太多的操作,只需要用的时候你知道该用这个模块下的哪个函数。例如,你想知道当前路径,就该知道用 curdir 这个函数。?
在Python中,os
模块是一个与操作系统交互的标准库模块,提供了许多与文件系统和进程管理有关的函数和类。下面介绍一些常见的os
模块的功能:
提示:如果直接复制下面的代码使用的话,可能会有错误,因为路径可能不对,或者文件不存在,注意区分。
1.文件和目录操作:os
模块提供了许多与文件和目录相关的操作,例如创建、删除、重命名、移动文件和目录等。比如:
import os
# 创建目录
os.mkdir('mydir')
# 删除文件
os.remove('myfile.txt')
# 重命名文件
os.rename('oldname.txt', 'newname.txt')
# 移动文件或目录
os.replace('oldpath', 'newpath')
?
2.获取环境变量:os
模块提供了获取、设置和删除系统环境变量的方法。比如:
import os
# 获取环境变量
path = os.environ.get('PATH')
# 设置环境变量
os.environ['MY_VAR'] = 'value'
# 删除环境变量
del os.environ['MY_VAR']
?
3.进程管理:os
模块提供了许多与进程相关的方法,例如获取当前进程ID、杀死进程等。比如:
import os
# 获取当前进程ID
pid = os.getpid()
# 杀死进程
os.kill(pid, signal.SIGTERM)
?
4.?路径处理:os
模块提供了许多与路径相关的方法,例如拼接、分割、获取文件名和目录名等。比如:
import os
# 拼接路径
path = os.path.join('/path/to', 'myfile.txt')
# 分割路径
dir, file = os.path.split('/path/to/myfile.txt')
# 获取文件名和目录名
filename = os.path.basename('/path/to/myfile.txt')
dirname = os.path.dirname('/path/to/myfile.txt')
从上面的例子中,你可以发现,想要使用 os 模块,首先是进行导入。?
?
下面介绍一些常用的函数,会跟前面有点重复。?
?2.1 目录相关
import os
# 当前路径
print(os.curdir) # 输出 .
# 父级路径
print(os.pardir) # 输出 ..
# 更改路径
os.chdir("f:") # 更改当前路径到 f 盘
# 罗列路径下方所有内容 默认当前路径
print(os.listdir("c://"))
2.2 文件夹相关
import os
# 创建文件夹
os.mkdir("temp")
# 创建多级文件夹
os.makedirs("temp/temp1/temp2")
# 删除文件夹
os.rmdir("temp")
os.removedirs("temp")
2.3? walk(不常用,但是想说一下
os.walk()
是os
模块中一个非常有用的函数,它用于遍历一个目录及其子目录下的所有文件和文件夹。os.walk()
返回一个生成器对象,可以在循环中使用来逐个获取目录树中的每个文件和文件夹。
代码演示:
import os
def traverse_directory(directory):
for dirpath, dirnames, filenames in os.walk(directory):
print('当前目录:', dirpath)
print('子目录:', dirnames)
print('文件:', filenames)
print()
# 遍历目录树
traverse_directory('/path/to/directory')
?在上述示例中,我们定义了一个名为traverse_directory
的函数,接受一个目录路径作为参数。然后,我们使用os.walk()
函数遍历该目录及其子目录,并在循环中打印当前目录、子目录和文件信息。
参数说明:
top
:指定要遍历的顶层目录路径。topdown
:可选参数,默认为True
,表示遍历顺序为先目录再文件,如果设置为False
,则表示遍历顺序为先文件再目录。onerror
:可选参数,用于处理遍历过程中的错误。followlinks
:可选参数,默认为False
,表示是否遍历符号链接所指向的目录。os.walk()
函数返回一个三元组(dirpath, dirnames, filenames)
,其中:
dirpath
:字符串,表示当前正在遍历的目录路径。dirnames
:列表,包含当前目录中的子目录名称。filenames
:列表,包含当前目录中的文件名称。?os.path
模块是Python中处理文件路径的标准库模块,提供了一系列用于操作、处理文件路径的函数和方法。os.path
模块的主要作用是提供跨平台的文件路径操作,无论在Windows、Linux还是Mac等不同操作系统上,都可以使用相同的代码来处理文件路径。
?下面介绍一些常用的os.path
模块的功能:
1.os.path.join()
:将多个路径组合成一个完整的路径。它会根据当前操作系统的规则自动选择路径分隔符。例如:?
import os
path = os.path.join('/path/to', 'file.txt')
print(path) # 输出:/path/to/file.txt
2.os.path.split()
:将路径分割成目录部分和文件部分,返回一个元组。例如:
import os
path = '/path/to/file.txt'
dir, file = os.path.split(path)
print(dir) # 输出:/path/to
print(file) # 输出:file.txt
3.os.path.dirname()
:获取路径的目录部分。例如:
import os
path = '/path/to/file.txt'
dir = os.path.dirname(path)
print(dir) # 输出:/path/to
4.os.path.basename()
:获取路径的文件名部分。例如:
import os
path = '/path/to/file.txt'
file = os.path.basename(path)
print(file) # 输出:file.txt
5.os.path.exists()
:判断路径是否存在。例如:
import os
path = '/path/to/file.txt'
if os.path.exists(path):
print('文件存在')
else:
print('文件不存在')
6.os.path.isfile()
和os.path.isdir()
:分别用于判断路径是否为文件和目录。例如:
import os
path = '/path/to/file.txt'
if os.path.isfile(path):
print('是文件')
else:
print('不是文件')
if os.path.isdir(path):
print('是目录')
else:
print('不是目录')
除了上述功能外,os.path
模块还提供了很多其他方法,例如获取文件的大小、获取文件的扩展名、规范化路径等。你可以查看Python官方文档以了解更多信息。
此篇结束,光看是不行的,还是要动手,持续更新中🌹🌹🌹
?