subprocess模块popen调用命令的使用(代码片段)

huaibin huaibin     2023-04-01     274

关键词:

需求:在svn服务器上面,手动创建补丁路径,然后在服务器上面去自动获取svn路径.

具体实现:使用svn list 主路径 获得主路径下面所有的子路径,返回值是列表.然后判断拼接的路径是否在返回值中即可。

def get_svn_home_path_all_dir(path):
    """获取svn主目录下所有文件目录"""
    svn_list_cmd = " ".join(["svn", "list", path])
    res_obj = subprocess.Popen(svn_list_cmd,
                               shell=True, stdout=subprocess.PIPE,
                               stderr=subprocess.PIPE, close_fds=True)
    svn_home_dirs = res_obj.stdout.readlines()
    return svn_home_dirs

# 注意str转成bytes类型,返回的列表中的元素是bytes类型还是str类型,看具体的测试环境.
# str转成bytes
bytes = str.encode("utf-8")

官方文档:https://docs.python.org/3/library/subprocess.html

参考文档:

https://www.jb51.net/article/142787.htm

https://www.jianshu.com/p/430c411160f8

 

subprocess模块(****)(代码片段)

Subprocess模块(****)   当我们需要调用系统的命令的时候,最先考虑的os模块。用os.system()和os.popen()来进行操作。但是这两个命令过于简单,不能完成一些复杂的操作,如给运行的命令提供输入或者读取命令的输出,判断... 查看详情

subprocess模块

subprocess模块subprocess的目的就是启动一个新的进程并且与之通信。subprocess模块中只定义了一个类:Popen。可以使用Popen来创建进程,并与进程进行复杂的交互。subprocess.Popen(...)用于执行复杂的系统命令参数:args:shell命令,可以是... 查看详情

subprocess模块

subprocess模块os.system(cmd)输出命令结果到屏幕;返回执行命令状态(0为成功,非0为不成功);os.popen(cmd)返回执行命令的内存地址;os.popen(cmd).read()读取出执行命令的结果;如果即想要返回状态,又想得到返回结果,可以使用subproces... 查看详情

18-5常用模块(subprocess)

...判断该命令的运行状态,管理多个命令的并行等等。这时subprocess中的Popen命令就能有效的完成我们需要的操作。subprocess模块允许一个进程创建一个新的子进程,通过管道连接到子进程的st 查看详情

subprocess模块(代码片段)

常用模块学习—subprocess模块详解要通过Python去执行一条系统命令或脚本,系统的shell命令是独立于你的python进程之外的,每执行一条命令,就是发起一个新进程,通过python调用系统命令或脚本的模块在python2有os.system。>>>os... 查看详情

subprocess模块(代码片段)

1.subprocess模块介绍我们经常需要通过Python去执行一条系统命令或脚本,系统的shell命令是独立于你的python进程之外的,每执行一条命令,就是发起一个新进程,通过python调用系统命令或脚本的模块在python2有os.system,,commands,popen2... 查看详情

Python,使用 subprocess.Popen 进行 linux 命令行调用?我收到“[Errno 2] 没有这样的文件或目录”

】Python,使用subprocess.Popen进行linux命令行调用?我收到“[Errno2]没有这样的文件或目录”【英文标题】:Python,usingsubprocess.Popentomakelinuxcommandlinecall?I\'mgetting"[Errno2]Nosuchfileordirectory"【发布时间】:2011-04-1914:55:48【问题描述... 查看详情

pythonos.system、os.popen、subprocess.popen的区别

...()>>>输出:aa.png(若aa.png存在,否则输出为空)3、subprocess.Popen("cmd")subprocess模块被推荐用来替换一些老的模块和函数,如:os.system、os.spawn*、os.popen*等subprocess模块目的是启动一个新的进程并与之通信,最常用是定... 查看详情

subprocess

python2.x中使用os模块来在执行系统命令。其中两个方法值得关注os.sys(‘df-h‘)os.Popen(‘df-h‘)其中os.sys()最终返回的是执行命令的成功与否的状态而os.Popen()就相当于开启了一个临时文件,把执行结果放到这个临时文件中。于是你... 查看详情

subprocess模块(代码片段)

#subprocess模块:启子进程模块importsubprocessobj=subprocess.Popen(‘tasklist‘,shell=True,#shell=True调用命令解释器来解释前面的命令,发信号并不执行stdout=subprocess.PIPE,#PIPE管道stderr=subprocess.PIPE,#放入报错信息)print(obj.stdout.read().de 查看详情

模块介绍(代码片段)

subprocess模块它是可以远程操作主机,模拟shell命令‘dir‘是windows上查看任务的命令 importsubprocessobj=subprocess.Popen(‘dir‘,shell=True,stdout=subprocess.PIPE,stderr=subprocess.PIPE)#Popen是模拟cmd命令,‘dir‘是windows上查看任务的命令,shel 查看详情

使用 subprocess.Popen Python 执行两个命令 [重复]

】使用subprocess.PopenPython执行两个命令[重复]【英文标题】:Executetwocommandswithsubprocess.PopenPython[duplicate]【发布时间】:2021-12-3123:25:08【问题描述】:我想通过从python脚本调用批处理文件来执行它。问题是这批需要设置JAVA_HOME。我... 查看详情

subprocess模块

subprocess–创建附加进程subprocess模块提供了一种一致的方法来创建和处理附加进程,与标准库中的其它模块相比,提供了一个更高级的接口。用于替换如下模块:os.system(),os.spawnv(),os和popen2模块中的popen()函数,以及commands().1.运行... 查看详情

如何在 Windows 上使用带有内置命令的 subprocess.Popen

】如何在Windows上使用带有内置命令的subprocess.Popen【英文标题】:Howtousesubprocess.Popenwithbuilt-incommandonWindows【发布时间】:2017-02-0414:34:09【问题描述】:在我的旧python脚本中,我使用以下代码来显示Windowscmd命令的结果:print(os.popen... 查看详情

解决subprocess.popen在windows下执行命令报的keyerror:'path'问题(代码片段)

...t、powershell、bash、csh、zsh等)命令的功能,于是考虑使用subprocess.Popen模块来实现执行命令相关的功能,subprocess.Popen详细的参数这里不细述,自己在测试执行python命令查看输出显示如下错误信息>>>pipe=subproce 查看详情

使用subprocessm模块管理进程

 subprocess被用来替换一些老的模块和函数,如:os.system、os.spawn*、os.popen*、popen2.*、commands.*。subprocess的目的就是启动一个新的进程并且与之通信。1.Popensubprocess模块中只定义了一个类:Popen。可以使用Popen来创建进程,并与进程... 查看详情

在 subprocess.Popen 中使用 && 进行命令链接?

】在subprocess.Popen中使用&&进行命令链接?【英文标题】:Using&&insubprocess.Popenforcommandchaining?【发布时间】:2013-03-0605:21:57【问题描述】:我正在使用subprocess.Popen和Python,但我还没有遇到通过Popen加入命令(即foobar&a... 查看详情

subprocess模块

...n返回一个表示执行结果的对象call返回的执行的状态码obj=subprocess.Popen(‘tasklistadfasf‘,#命令shell=True,stdout=subprocess.PIPE,#命令正确结果stderr=subprocess.PIPE#命令错误结果)#res=obj.stdout.read().decode(‘gbk‘)#print(r 查看详情