惬意上手Python —— os模块

发布时间:2024年01月23日

首先,这部分很简单,不需要有太多的操作,只需要用的时候你知道该用这个模块下的哪个函数。例如,你想知道当前路径,就该知道用 curdir 这个函数。?

在Python中,os模块是一个与操作系统交互的标准库模块,提供了许多与文件系统和进程管理有关的函数和类。下面介绍一些常见的os模块的功能:

提示:如果直接复制下面的代码使用的话,可能会有错误,因为路径可能不对,或者文件不存在,注意区分。

1.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.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:列表,包含当前目录中的文件名称。

3.os中的path

?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官方文档以了解更多信息。

此篇结束,光看是不行的,还是要动手,持续更新中🌹🌹🌹

?

文章来源:https://blog.csdn.net/2301_77186809/article/details/135781296
本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。