subprocess模块Popen调用命令的使用

Posted huaibin

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了subprocess模块Popen调用命令的使用相关的知识,希望对你有一定的参考价值。

需求:在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模块Popen调用命令的使用的主要内容,如果未能解决你的问题,请参考以下文章

Subprocess模块(* * * *)

从 subprocess.Popen 调用“源”命令

18-5 常用模块(subprocess)

python subprocess模块

Python执行外部命令(subprocess,call,Popen)

Python调用外部系统命令