我正在编写一个脚本,以转换为AMP的HTML.并且有这样的代码:

#!/usr/bin/python3

import argparse
from amp_tools import TransformHtmlToAmp
import codecs

arg_parser = argparse.ArgumentParser( description = "Copy source_file as target_file." )
arg_parser.add_argument( "source_file" )
arg_parser.add_argument( "target_file" )
arguments = arg_parser.parse_args()

source = arguments.source_file
target = arguments.target_file
html = ""
with codecs.open(source, encoding='utf-8', mode='r+') as f:
    for line in f:
        html = html + line.rstrip()
        
valid_amp = str(TransformHtmlToAmp(html)())

with codecs.open(target, encoding='utf-8', mode='w+') as f:
    f.write(valid_amp.rstrip())
    f.seek(0)

#print(str(valid_amp))
print( target, "successfully created !!" )

现在,这是可行的,但文件被保存在b''中.我不想这样.有没有办法避免在输出文件中使用引号?

样例输入:<!doctype html> <html lang="en"> <head> <title>News Article</title> <link href="base.css" rel="stylesheet" /> <script type="text/javascript" src="base.js"></script> </head> <body> <header> News Site </header> <article> <h1>Article Name</h1> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam egestas tortor sapien, non tristique ligula accumsan eu.</p> </article> <img src="https://www.travelmanagers.com.au/wp-content/uploads/2012/08/AdobeStock_254529936_Railroad-to-Denali-National-Park-Alaska_750x500.jpg"> </body> </html>

输出:b'<div lang="en" class="amp-text"> <head> <title>News Article</title> <link href="base.css" rel="stylesheet"> <script type="text/javascript" src="base.js"></script> </head> <body> <header> News Site </header> <article> <h1>Article Name</h1> <p>Lorem ipsum dolor sit amet, consectetur adipiscing elit. Etiam egestas tortor sapien, non tristique ligula accumsan eu.</p> </article> <amp-img src="https://www.travelmanagers.com.au/wp-content/uploads/2012/08/AdobeStock_254529936_Railroad-to-Denali-National-Park-Alaska_750x500.jpg" width="750" height="500" layout="responsive"></amp-img> </body></div>'

推荐答案

您应该替换该行:

valid_amp = str(TransformHtmlToAmp(html)())

有:

valid_amp = bytes(TransformHtmlToAmp(html)()).decode("utf-8") 

Python相关问答推荐

如何检测背景有噪的图像中的正方形

如何将双框框列中的成对变成两个新列

Vectorize多个头寸的止盈/止盈回溯测试pythonpandas

无法使用requests或Selenium抓取一个href链接

如果满足某些条件,则用另一个数据帧列中的值填充空数据帧或数组

如何使Matplotlib标题以图形为中心,而图例框则以图形为中心

如何在达到end_time时自动将状态字段从1更改为0

如何使用两个关键函数来排序一个多索引框架?

如何杀死一个进程,我的Python可执行文件以sudo启动?

pysnmp—lextudio使用next()和getCmd()生成器导致TypeError:tuple对象不是迭代器''

提高算法效率的策略?

Discord.py -

在用于Python的Bokeh包中设置按钮的样式

为罕见情况下的回退None值键入

仅取消堆叠最后三列

如何在Polars中将列表中的新列添加到现有的数据帧中?

Pandas:使列中的列表大小与另一列中的列表大小相同

#将多条一维曲线计算成其二维数组(图像)表示

如何在Django查询集中生成带有值列表的带注释的字段?

用LAKEF划分实木地板AWS Wrangler