[英]Python: Splitting a string in a list
我在拆分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()
沒有。 停。
qs = urlparse.urlparse(url).query
qsl = urlparse.parse_qsl(qs)
正如伊格納西奧(Ignacio)指出的那樣,您首先不應該這樣做。 但是,我將向您說明您出了問題的地方以及解決方法:
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("&")]
嘗試它們兩個以查看不同的輸出,並希望您能理解它們的功能。
聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.