当前位置:首页 >休闲 >Python 运行 shell 命令的一些方法 甚至 glob、os.path 都可以不用

Python 运行 shell 命令的一些方法 甚至 glob、os.path 都可以不用

2024-06-28 15:08:04 [百科] 来源:避面尹邢网

Python 运行 shell 命令的运行一些方法

作者:咸鱼运维杂谈 开发 一般来讲,最好是运行用 python 自带的函数或模块,而不是运行直接调用其他程序或者操作系统的命令,我们来看一下 python 中有哪些自带模块或者方法可以实现。运行

哈喽大家好,运行我是运行咸鱼。

我们知道,运行python 在自动化领域中被广泛应用,运行可以很好地自动化处理一些任务,运行就比如编写 Python 脚本自动化执行重复性的运行任务,如文件处理、运行数据处理、运行系统管理等需要运行其他程序或者与操作系统交互的运行任务,那么今天我们来看一下在 python 中如何运行 shell 命令来与操作系统交互。运行

Python 运行 shell 命令的一些方法 甚至 glob、os.path 都可以不用

一般来讲,运行最好是用 python 自带的函数或模块,而不是直接调用其他程序或者操作系统的命令,我们来看一下 python 中有哪些自带模块或者方法可以实现。

Python 运行 shell 命令的一些方法 甚至 glob、os.path 都可以不用

Python 运行 shell 命令的一些方法 甚至 glob、os.path 都可以不用

pathlib模块

如果你需要创建或者删除文件/目录,检查文件是否存在或者改变权限等,你完全不需要使用操作系统的命令,你可以完全通过 pathlib 模块来实现,它有你需要的一切,甚至 glob、os.path 都可以不用。

我们来简单看一下关于这个模块的例子:

tempfile模块

在 Python 中临时创建和处理文件时,tempfile 模块提供了方便的方法,它可以在临时目录中创建临时文件和临时文件夹,并提供了一些便利的函数和类来管理这些临时文件:

shutil 模块

前面我们知道 pathlib 模块满足了 python 中大多数与文件相关的需求,如果需要例如复制,移动,删除或创建文件,可以使用 shutil 模块:

os 模块

os 模块是 Python 中一个更老的、更底层的模块,提供了与操作系统交互和执行文件系统操作的功能,但是随着 python 的发展,越来越多面向对象的、更直观和易于使用的模块可以供大家使用,对于 os 模块,大家可以了解一下就行了:

sh 模块

sh 模块不是 python 的标准模块,它是一个第三方模块,在使用之前我们需要安装它:

pip install sh

当我们通过 sh 模块去执行一些 shell 命令时,sh 模块会尝试在本地环境变量($PATH)中查找带有该名称的内置 shell 命令或二进制文件,如果没有找到,可以自己添加命令路径:

如果要将命令的输出写入到文件里面,可以使用 _out 参数:

我们在敲 shell 命令时通常会使用到管道符(|),在 sh 模块中通过 _in 参数来实现:

对于异常处理,我们可以简单地处理 ErrorReturnCode 或 TimeoutException 异常:

责任编辑:赵宁宁 来源: 咸鱼运维杂谈 pythonshell

(责任编辑:综合)

    推荐文章
    热点阅读