如何使用python从git生成HTML颜色差异

2024-10-01 05:00:38 发布

您现在位置:Python中文网/ 问答频道 /正文

所以我想办法创建一个可以嵌入到电子邮件中的HTML-git-diff,但不知道为什么会在一行代码中显示出来?在

这就是我是怎么做到的!!在

import sys
import subprocess
import os

from ansi2html.converter import Ansi2HTMLConverter



ansiText =  os.path.expanduser('~/Desktop/colorDiff')


pr = subprocess.Popen( "git diff HEAD^ HEAD --color > "+ansiText , cwd = os.getcwd() , shell = True, stdout = subprocess.PIPE, stderr = subprocess.PIPE )
(out, error) = pr.communicate()

conv = Ansi2HTMLConverter()
ansi = ''
with open(ansiText, 'r+') as fh:
    fh.readline()

    for line in fh:
        ansi += ''.join(line.split())

html = conv.convert(ansi)

with open("%s.html" % ansiText, 'w+') as wf:
    wf.write(html)

os.remove(ansiText)
print str(error).capitalize()

也许现在醒来已经太晚了。。。在


Tags: importgitoshtmldifferrorprhead
1条回答
网友
1楼 · 发布于 2024-10-01 05:00:38

我自己想出来的

import sys
import subprocess
import os

from ansi2html.converter import Ansi2HTMLConverter



ansiText =  os.path.expanduser('~/Desktop/colorDiff')



proc = subprocess.Popen('git diff HEAD^ HEAD  color',  shell=True, stdout=subprocess.PIPE, stderr = subprocess.PIPE )
diffData = proc.stdout.read()
conv = Ansi2HTMLConverter()

html = conv.convert(diffData)


with open("%s.html" % ansiText, 'w') as wf:
    wf.write(html)

相关问题 更多 >