如何通过管道将 html 连同格式/间距传输到 gedit?

如何通过管道将 html 连同格式/间距传输到 gedit?

有没有办法将 html 通过管道传输到 gedit 而不丢失间距。

我正在尝试:echo "'+html5template+'" | gedit

输出如下:

<!DOCTYPE html><html><head><title></title></head><body></body></html>

但我需要它是这样的:

<!DOCTYPE html>
<html>
      <head>
            <title></title>
      </head>
      <body>
      </body>
 </html>

脚本如下:

doctype='<!DOCTYPE html>'
html_start='<html>'
header_start='<head>'
header_end='</head>'
body='<body></body>'
html_end='</html>'

meta_data=''

#get page title
meta_data += '<title>'+self.builder.get_object("page_title_entry").get_text()+'</title>'

#build the html template
html5template=doctype+html_start+header_start+meta_data+header_end+body+html_end

#open template with gedit
Popen('echo "'+html5template+'" | gedit', shell=True, stdin=PIPE, stdout=PIPE, stderr=STDOUT, close_fds=False)

答案1

您不会在 Python 代码中创建任何空格,您的输出就是您的 Python 代码所创建的。

为了获得所需的间距,您可以例如替换

html5template=doctype+html_start+header_start+meta_data+header_end+body+html_end

indent='    '    
html5template='\n'.join((doctype,
                        html_start,
                        indent + header_start,
                        indent + indent + meta_data,
                        indent + header_end,
                        indent + body,
                        html_end
                        ))

相关内容