首页 > 解决方案 > EasyList 读取文件用于配对和格式化文件

问题描述

您好,我有一个关于在 python 中读取文件的问题。

我目前正在处理过滤器列表,并希望http_request通过 EasyList 进行解析。

我像这样打开文件:

with open("EasyList.txt", encoding='utf8') as infile:
    filterList = BeautifulSoup(infile, "html.parser")

格式是这样的:

&ad.vid=$~xmlhttprequest
&ad_block=
&ad_box_
&ad_classid=
&ad_code=
&ad_height=

我想我需要这种格式的数组:

rules = [
    "&ad.vid=$~xmlhttprequest",
    "&ad_block=",
    "&ad_box_",
    "&ad_classid=",
    "&ad_code=",
    "&ad_height=",
    ]

有什么简单的方法可以.txt像这样直接读取文件并对其进行格式化?

标签: pythonbeautifulsoup

解决方案


我认为这将解决您的问题:

import io

inpt='''&ad.vid=$~xmlhttprequest
&ad_block=
&ad_box_
&ad_classid=
&ad_code=
&ad_height=
'''

buf = io.StringIO(inpt)

out="rules = ["

line=buf.readline()
while line!='':
    out+='\"'+line[:-1]+'\",'+line[-1:]
    line=buf.readline()

#line=lin
out=out[:-2]+out[-1:]
out+=']'

print(out)

推荐阅读