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


下一篇:Python调用系统命令的6种方法