regendoc.py 文件源码

python
阅读 25 收藏 0 点赞 0 评论 0

项目:devpi 作者: devpi 项目源码 文件源码
def do_shell(tmpdir, action):
    if action['cwd']:
        cwd = action['file'].dirpath().join(action['cwd'])
    else:
        cwd = tmpdir

    proc = subprocess.Popen(
        action['target'],
        shell=True,
        cwd=str(cwd),
        stdout=subprocess.PIPE,
        stderr=subprocess.STDOUT,
    )
    out, err = proc.communicate()
    out = strip_ansi_codes(out)
    out = out.decode('ascii')
    # XXX join with err?
    if out != action['content']:
        import difflib
        differ = difflib.Differ()
        outl = out.splitlines(True)
        contl = action['content'].splitlines(True)
        result = differ.compare(contl, outl)
        printdiff(result)
        return out
评论列表
文章目录


问题


面经


文章

微信
公众号

扫码关注公众号