总结归纳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 模块提供了许多方便的操作系统接口和函数,掌握这些方法可以更方便地操作文件和目录,并简化编程工作。

本站文章如无特殊说明,均为本站原创,如若转载,请注明出处:总结归纳python os库常用方法 - Python技术站

(0)
上一篇 2023年5月30日
下一篇 2023年5月30日

相关文章

  • 在 OSX 上 pip 安装 MySQL-python 后的版本错误

    【问题标题】:Version error after pip installing MySQL-python on OSX在 OSX 上 pip 安装 MySQL-python 后的版本错误 【发布时间】:2023-04-06 21:03:01 【问题描述】: 我已成功将MySQL-python 安装到我的虚拟环境中,PyCharm 可以导入它这一事实证实了…

    Python开发 2023年4月7日
    00
  • python获取从命令行输入数字的方法

    获取从命令行输入数字的方法,可以通过Python内置的input()函数实现。 使用input()函数获取用户输入的默认数据类型是字符串,所以需要将字符串转化为整数或浮点数,才能进行数值运算。 下面是获取从命令行输入整数的方法: num = int(input("请输入整数:")) print("您刚刚输入的整数是:"…

    python 2023年6月5日
    00
  • 解决Python安装cryptography报错问题

    当我们在Python中安装cryptography时,可能会遇到各种各样的错误。这些错误可能是由于缺少依赖项、版本不兼容或其他原因导致的。本攻略将介绍如何解决Python安装cryptography报错问题,并提供两个示例。 解决方法 在Python中安装cryptography时,我们可以尝试以下方法来解决报错问题: 确认Python版本和依赖项版本是否兼…

    python 2023年5月13日
    00
  • Python 限制线程的最大数量的方法(Semaphore)

    Python 中通过 Semaphore 对象可以限制线程的最大数量,从而控制线程的并发访问。Semaphore 是一种同步工具,用于保证多个线程间访问资源的顺序或安全性。 Semaphore在Python的Threading模块中实现。Semaphore维护了一个内部计数器,初始提供一个数量参数,来限制并发线程访问的数量。当我们希望限制一定数量的线程访问共…

    python 2023年5月18日
    00
  • tf.truncated_normal与tf.random_normal的详细用法

    好的!首先我们来了解一下这两个函数的共同点:它们都是用于初始化神经网络中的权值的。 现在让我们分别看一下这两个函数的用法。 tf.truncated_normal tf.truncated_normal 可以生成截断正态分布随机数,即随机值生成的区间为 [μ-2σ, μ+2σ] 内的正态分布。其中,μ 为正态分布的均值,σ为正态分布的标准差。 函数定义: t…

    python 2023年6月3日
    00
  • python结合shell查询google关键词排名的实现代码

    下面是详细的攻略: Python结合Shell查询Google关键词排名的实现代码 在Python中,我们可以结合Shell命令来查询Google关键词排名。本文将对Python结合Shell查询Google关键词排名的实现代码进行详细讲解,并提供两个示例说明。 实现过程 在Python中,我们可以使用subprocess模块来执行Shell命令,并使用Be…

    python 2023年5月14日
    00
  • Python基础之hashlib模块详解

    Python基础之hashlib模块详解 介绍 hashlib模块是Python中用于提供不同哈希算法的模块。哈希函数将任意长度的消息映射为固定长度的哈希值,并且哈希值无法被还原为原始消息。哈希值常用于密码学的应用中,同时也在数据完整性验证、数据指纹等多个领域有着广泛的应用。Python的hashlib模块提供了多种常用的哈希算法,包括MD5、SHA1、SH…

    python 2023年6月2日
    00
  • python使用jpype导入多个Jar的异常问题及解决

    介绍 在使用 Python 调用 Java 的过程中,如果需要导入多个 Jar 包,可能会遇到一些异常问题。本篇文章将详细讲解如何解决这个问题。 问题探究 先来看看一个简单的例子。假设我们有两个 Jar 包:a.jar 和 b.jar。以下代码尝试调用 b.jar 中的一个类: import jpype jar_path = ‘b.jar’ jpype.st…

    python 2023年5月13日
    00
合作推广
合作推广
分享本页
返回顶部