簡體   English   中英

Python:在列表中分割字符串

[英]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.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM