我无法拆分'&'在URL列表中。我知道这是因为我无法直接拆分列表,但我无法弄清楚如何解决这个错误。我愿意接受任何建议。
def nestForLoop():
lines = open("URL_leftof_qm.txt", 'r').readlines()
for l in lines:
toke1 = l.split("?")
toke2 = toke1.split("&")
for t in toke2:
with open("ampersand_right_split.txt".format(), 'a') as f:
f.write
lines.close()
nestForLoop()
答案 0 :(得分:8)
NO。 STOP。
qs = urlparse.urlparse(url).query
qsl = urlparse.parse_qsl(qs)
答案 1 :(得分:1)
正如伊格纳西奥指出的那样,你不应该首先这样做。但我会解释你哪里出错了,以及如何解决它:
toke2是两个字符串的列表:?之前的主URL,以及&之后的查询字符串。您不希望拆分该列表或该列表中的所有内容;你只想拆分查询字符串。所以:
mainurl, query = l.split("?")
queryvars = query.split("&")
如果您 想要拆分第一个列表中的所有内容,该怎么办?有两种不同的东西可能意味着,这当然是以不同的方式完成的。但是两者都要求在第一个列表上循环(显式或在列表理解中)。要么:
tokens = [toke2.split("&") for toke2 in l.split("?")]
或
tokens = [token for toke2 in l.split("?")
for token in toke2.split("&")]
尝试两种方法来查看不同的输出,希望你能理解他们正在做的事情。