盘点Python中os模块的那些用法

1. os模块介绍

在Python中,os模块是非常重要的一个模块。它是python的标准库之一,提供了一种与操作系统进行交互的方法。os模块的主要功能是操作文件和目录、获取系统信息以及执行一些系统相关的命令。

下面将介绍一些os模块的常用功能。

2. 操作文件和目录

2.1 获取当前工作目录

os模块提供了一个方法可以获取当前的工作目录,也就是在哪个目录下执行脚本。

import os

cur_dir = os.getcwd() # 获取当前所在目录

print(cur_dir)

在这里,我们使用os.getcwd()方法获取当前所在目录,并使用print输出。

需要注意的是,在Linux/Unix系统中,os.getcwd()和os.getcwdu()两种方法是等价的,但在Windows系统中,os.getcwd()使用ANSI编码,而os.getcwdu()使用Unicode编码。

2.2 创建目录

在os模块中,可以使用os.mkdir()方法创建一个新目录。

import os

os.mkdir("newdir") # 创建一个名为newdir的目录

在这里,我们使用os.mkdir()方法创建一个名为newdir的目录,注意,该方法只能在不存在该目录时使用。

2.3 删除文件或目录

在os模块中可以使用os.remove()方法删除文件,使用os.rmdir()方法删除目录。

import os

os.remove("test.txt") # 删除test.txt文件

os.rmdir("testdir") # 删除testdir目录

在这里,我们使用os.remove()方法删除test.txt文件,使用os.rmdir()方法删除testdir目录。

需要注意的是,os.remove()方法和os.rmdir()方法都只能删除空目录和文件。

2.4 遍历目录

在Python中,可以使用os.walk()方法遍历目录。

import os

for root, dirs, files in os.walk("/home/user/"):

for filename in files:

print(os.path.join(root, filename))

在这里,我们使用os.walk()方法遍历/home/user/目录,获取所有文件并输出文件路径。

需要注意的是,在os.walk()方法中,返回的是一个生成器对象,包含三项内容:当前遍历的目录路径、该目录下的目录列表和该目录下的文件列表。

3. 获取系统信息

3.1 获取环境变量

在Python中,可以使用os模块的os.environ属性获取当前系统的环境变量。

import os

env = os.environ

for key in env:

print(key + " : " + env[key])

在这里,我们使用os.environ属性获取当前系统的环境变量,并遍历输出所有的环境变量。

3.2 获取文件属性

在Python中,可以使用os.stat()方法获取文件的一些属性信息,例如文件大小、最近访问时间、最近修改时间等。

import os

file_info = os.stat("test.txt")

print("文件大小:", file_info.st_size)

print("最近访问时间:", file_info.st_atime)

print("最近修改时间:", file_info.st_mtime)

在这里,我们使用os.stat()方法获取test.txt文件的属性信息并输出其中的文件大小、最近访问时间和最近修改时间。

4. 执行系统命令

在Python中,可以使用os.system()方法执行一些系统命令。

import os

os.system("ls")

在这里,我们使用os.system()方法执行Linux/Unix系统的ls命令,并将命令执行结果输出。

需要注意的是,os.system()方法会直接将命令的输出结果输出到控制台,无法获取到具体的输出结果。

5. 总结

os模块是Python中非常重要的一个模块,在实际的Python编程过程中,经常会用到该模块提供的一些方法。本文介绍了os模块中一些常用的方法,包括操作文件和目录、获取系统信息以及执行系统命令等。希望本文能够对您了解和使用os模块有所帮助。

免责声明:本文来自互联网,本站所有信息(包括但不限于文字、视频、音频、数据及图表),不保证该信息的准确性、真实性、完整性、有效性、及时性、原创性等,版权归属于原作者,如无意侵犯媒体或个人知识产权,请来电或致函告之,本站将在第一时间处理。猿码集站发布此文目的在于促进信息交流,此文观点与本站立场无关,不承担任何责任。

后端开发标签