关键词

总结归纳python os库常用方法

总结归纳python os库常用方法

os 模块是 Python 标准库中的一个重要模块,提供了跨平台操作系统功能的便利封装,可以用来进行文件和目录操作、进程管理、操作系统信息获取等。

获取文件和路径信息

获取文件和目录列表

  • os.listdir(path='.'): 返回指定目录下所有文件和目录的名称列表,如果没有指定 path,则返回当前工作目录下的文件和目录列表。

示例如下:

import os

# 获取当前工作目录下的文件和目录列表
print(os.listdir())

# 获取指定目录下的文件和目录列表
print(os.listdir('/usr/local'))

判断是否为文件或目录

  • os.path.isdir(path): 判断指定路径是否为目录。
  • os.path.isfile(path): 判断指定路径是否为文件。
  • os.path.exists(path): 判断指定路径是否存在。

示例如下:

import os

# 判断当前目录是否为目录
if os.path.isdir('.'):
    print('当前目录是一个目录')
else:
    print('当前目录不是一个目录')

# 判断 test.py 文件是否为文件
if os.path.isfile('test.py'):
    print('test.py 是一个文件')
else:
    print('test.py 不是一个文件')

# 判断 /usr/local 是否存在
if os.path.exists('/usr/local'):
    print('/usr/local 存在')
else:
    print('/usr/local 不存在')

获取路径信息

  • os.path.split(path): 将指定路径切分成目录部分和文件名部分,返回一个元组。
  • os.path.splitext(path): 将指定路径切分成目录部分和扩展名部分,返回一个元组。
  • os.path.basename(path): 返回指定路径的文件名部分。
  • os.path.dirname(path): 返回指定路径的目录部分。

示例如下:

import os

path = '/usr/local/bin/python'
dir_name, base_name = os.path.split(path)
print(f'目录部分: {dir_name}')
print(f'文件名部分: {base_name}')

root, ext = os.path.splitext(path)
print(f'根部分: {root}')
print(f'扩展名部分: {ext}')

print(f'文件名: {os.path.basename(path)}')
print(f'目录名: {os.path.dirname(path)}')

文件和目录操作

创建目录

  • os.mkdir(path, mode=0o777, *, dir_fd=None): 创建指定路径的目录,如果路径不存在则创建,如果路径已经存在则抛出异常。
import os

os.mkdir('mydir')

删除目录

  • os.rmdir(path, *, dir_fd=None): 删除指定路径的目录,如果目录非空则抛出异常。
import os

os.rmdir('mydir')

创建文件

  • open(file, mode='r', buffering=-1, encoding=None, errors=None, newline=None, closefd=True, opener=None): 可以用来创建文件,也可以用来打开已经创建的文件。
import os

with open('test.txt', 'w') as f:
    f.write('hello world')

删除文件

  • os.remove(path, *, dir_fd=None): 删除指定路径的文件。
import os

os.remove('test.txt')

其他操作

获取环境变量

  • os.environ: 返回一个字典,包含当前进程所使用的所有环境变量。
import os

print(os.environ)

运行外部程序

  • os.system(command): 在子 shell 中运行指定的命令。该函数会阻塞当前进程,直到子进程返回。
import os

os.system('echo "hello world"')

结语

os 模块提供了许多方便的操作系统接口和函数,掌握这些方法可以更方便地操作文件和目录,并简化编程工作。

本文链接:http://task.lmcjl.com/news/14955.html

展开阅读全文