Python中os模块常用函数介绍
os模块是Python的标准库之一,提供了访问操作系统服务的接口。在Python中,可以使用os模块来进行文件操作、进程管理、环境变量管理等许多操作系统服务。
os模块中的函数大致分为以下四类:路径处理、文件操作、进程管理、环境管理。下面将对每一类函数进行详细介绍。
一、路径处理
1. os.getcwd()
功能:获取当前工作目录。
语法:os.getcwd()
返回值:当前工作目录的绝对路径。
例子:
import os
print(os.getcwd())
2. os.chdir(path)
功能:改变当前工作目录。
语法:os.chdir(path)
参数:path为改变后的工作目录的路径。
例子:
import os
os.chdir('/Users/yourname/Documents')
print(os.getcwd())
3. os.path.split(path)
功能:分离文件名和路径。
语法:os.path.split(path)
参数:path为需要分离的路径字符串。
返回值:返回一个元组,(head, tail),其中head为路径,tail为文件名。
例子:
import os
path = '/Users/yourname/Documents/test.txt'
print(os.path.split(path))
4. os.path.join(path1, path2, ...)
功能:连接路径和文件名。
语法:os.path.join(path1, path2, ...)
参数:需要连接的路径和文件名。
返回值:连接好的路径和文件名。
例子:
import os
path = os.path.join('/Users/yourname', 'Documents', 'test.txt')
print(path)
二、文件操作
1. os.makedirs(name[, mode])
功能:创建目录树。
语法:os.makedirs(name[, mode])
参数:
- name:需要创建的目录路径字符串。
- mode:可选参数,设置目录权限,默认为0o777。
例子:
import os
os.makedirs('/Users/yourname/Documents/test')
2. os.remove(path)
功能:删除指定路径的文件。
语法:os.remove(path)
参数:path表示要删除的文件路径。
例子:
import os
os.remove('/Users/yourname/Documents/test.txt')
3. os.rename(src, dst)
功能:重命名文件或目录。
语法:os.rename(src, dst)
参数:
- src:需要重命名的文件或目录。
- dst:新的文件名或目录名。
例子:
import os
os.rename('/Users/yourname/Documents/test1.txt', '/Users/yourname/Documents/test2.txt')
4. os.listdir(path)
功能:列出指定目录下的文件和子目录。
语法:os.listdir(path)
参数:path表示要列出的目录,默认为当前工作目录。
返回值:一个包含文件名和子目录名的列表。
例子:
import os
print(os.listdir('/Users/yourname'))
三、进程管理
1. os.fork()
功能:创建一个子进程。
语法:os.fork()
返回值:父进程返回子进程的 ID,子进程返回零。
例子:
import os
pid = os.fork()
if pid == 0:
print('This is child process')
else:
print('This is parent process')
2. os.kill(pid, signal.SIGTERM)
功能:向指定进程发送指定信号。
语法:os.kill(pid, signal.SIGTERM)
参数:
- pid:需要发送信号的进程 PID。
- signal.SIGTERM:信号类型,SIGTERM表示终止进程。
例子:
import os
import signal
import time
pid = os.fork()
if pid == 0:
print('This is child process')
time.sleep(10)
else:
print('This is parent process')
os.kill(pid, signal.SIGTERM)
3. os.wait()
功能:等待一个进程结束。
语法:os.wait()
返回值:一个元组,(pid,状态)。pid是结束进程的ID,状态是进程结束时的状态。
例子:
import os
pid = os.fork()
if pid == 0:
print('This is child process')
exit(0)
else:
print('This is parent process')
os.wait()
四、环境管理
1. os.environ
功能:提供系统环境变量的访问。
语法:os.environ
返回值:系统环境变量的字典。
例子:
import os
print(os.environ)
print(os.environ['PATH'])
2. os.getenv(key[, default])
功能:获取或设置环境变量。
语法:os.getenv(key[, default])
参数:
- key:变量名。
- default:如果变量名不存在,则返回默认值。
例子:
import os
print(os.getenv('HOME'))
print(os.getenv('PYTHONPATH', '/usr/local/lib/python3.7'))
3. os.system(command)
功能:执行命令。
语法:os.system(command)
参数:command为要执行的命令字符串。
例子:
import os
os.system('ls -l')
以上介绍了os模块中常用的函数。使用os模块可以很方便地进行文件操作、进程管理、环境变量管理等操作系统服务。在实际开发中,掌握这些函数将会大大提高代码的效率和可维护性。
