您的位置:

Python os模块详解

一、os模块介绍

Python os模块是与操作系统交互的一个接口,提供了许多操作文件和目录的函数。

os模块包含普通的操作系统功能,可以处理文件和目录的路径名等操作,同时还提供了许多与进程管理和通信相关的功能,如获取进程ID、执行命令、创建子进程等。

一些常用的os模块的函数有:os.getcwd()、os.listdir()、os.remove()、os.rename()等。

二、文件和目录操作

1、获取当前工作目录

import os 
print(os.getcwd())

运行上面的代码可以获取当前工作目录的绝对路径。

2、改变目录

import os 
os.chdir('/usr/local/') 
print(os.getcwd())

运行上面的代码可以改变当前工作目录为 '/usr/local/'。

3、获取目录内容

import os 
print(os.listdir(os.getcwd()))

运行上面的代码可以获取当前工作目录下的所有文件和文件夹。

4、创建和删除目录

import os 
os.mkdir('testdir') 
os.rmdir('testdir')

运行上面的代码可以创建一个名为'testdir'的目录,并将其删除。

5、文件操作

文件操作包括创建、读取、写入、重命名和删除文件。下面是示例代码:

import os
# 创建文件
with open('test.txt', 'w') as f:
    f.write('test')

# 读取文件内容
with open('test.txt', 'r') as f:
    print(f.read())

# 写入文件内容
with open('test.txt', 'w') as f:
    f.write('new content')

# 重命名文件
os.rename('test.txt', 'newname.txt')

# 删除文件
os.remove('newname.txt')

三、进程管理和通信

1、获取进程ID

import os 
print(os.getpid())

运行上面的代码可以获取当前进程的ID。

2、执行外部命令

import os 
os.system('ls')

运行上面的代码可以在终端中执行'ls'命令。

3、创建子进程

import os  
pid = os.fork() 
if pid == 0: 
   print("Child process") 
else: 
   print("Parent process")

运行上面的代码可以创建一个子进程,并在子进程和父进程中打印不同的输出。

四、其他常用函数

1、os.path模块

os.path模块提供了一些常用的文件和目录路径操作函数。

如os.path.abspath(path)返回path在当前系统中的绝对路径。

示例代码:

import os.path 
print(os.path.abspath('test.txt'))

2、os.name属性

os.name属性用于标识当前操作系统的名称,常用的取值有'posix'、'nt'、'mac'等。

import os 
print(os.name)

运行上面的代码可以获取当前操作系统的名称。

3、环境变量

os模块提供了获取和设置环境变量的函数。

如os.environ返回一个包含所有环境变量的字典。

示例代码:

import os 
print(os.environ)

运行上面的代码可以获取当前系统的所有环境变量。

4、os.stat(path)

os.stat(path)用于获取文件或目录的状态,返回一个包含文件或目录详细属性的对象。

如获取文件大小:statinfo.st_size

示例代码:

import os 
statinfo = os.stat('test.txt') 
print(statinfo.st_size)

五、总结

Python os模块是一个非常强大的模块,提供了丰富的文件和目录操作、进程管理和通信等功能,可以轻松地实现与操作系统交互的程序。