Issue30305
This issue tracker has been migrated to GitHub,
and is currently read-only.
For more information,
see the GitHub FAQs in the Python's Developer Guide.
Created on 2017-05-08 10:52 by 方文添, last changed 2022-04-11 14:58 by admin. This issue is now closed.
Messages (2) | |||
---|---|---|---|
msg293231 - (view) | Author: 方文添 (方文添) | Date: 2017-05-08 10:52 | |
when i use str join , i find some issue, such as str_msg = 'malluin=MTg5Njk2ODIyMA==; Path=/bizmall/; HttpOnly, mallkey=9a9b172e5cac49c6b1ef970f4405c5e91712468846bb23c477c852d4987703b074ce9a48b440d92ec7dd1012275c926a41a8e76cd5a0e4b17efa705ab2d42fc85192b6542b218d2ecefc88f0f7cd7c68; Path=/bizmall/; HttpOnly, malluin=EXPIRED; Path=/; Expires=Sun, 07-May-2017 09:49:24 GMT; HttpOnly, mallkey=EXPIRED; Path=/; Expires=Sun, 07-May-2017 09:49:24 GMT; HttpOnly, payforreadsn=EXPIRED; Path=/; Expires=Sun, 07-May-2017 09:49:24 GMT; HttpOnly, wxtokenkey=b7945ae2cd97e8e5d3029cd7b90a893f68ace0b498b100ff63d61d8bb2a0259c; Path=/; HttpOnly, wxticket=3510401828; Path=/; HttpOnly, wxticketkey=72a9df89b5c9460ea7507b21f5c6938068ace0b498b100ff63d61d8bb2a0259c; Path=/; HttpOnly, wap_sid=CJzgxYgHEkBVSXBfZVJUdktUVi1QV0RrSVNTR08wV3poTjE4UEpyVHU1b2JmMFZCaEhqVGVjTHJQRTVzaENzLXhWUnV2cGlFGAQg/BEo7rzXnwswpP7AyAU=; Path=/; HttpOnly, wap_sid2=CJzgxYgHEnBTM045bVNlZ0xOQmROSVNydEV4UExZZFhma1BpZVI2UVlybXc1WFlpa2NZbXRLLVpnTnl6UldVeGQxSnotbDgtR2tkVTFEek96U3ExU2VWYzQ1cTRiVmc3R0JBZWlMUEU3S1NScG9KTmhubUhBd0FBMKT+wMgF; Path=/; HttpOnly, pass_ticket=0JAIZfxQAFgv68rxGl33/gZEtmgCTyHk3Jd2pSWZOnQg0u5FKjc3BdNJABTOAyQ+; Path=/; HttpOnly'.replace( 'HttpOnly', '').replace(',', '').replace(' ', '') items = str_msg.split(';') new_item = '' for item in items: if 'wxtokenkey' in item: new_item = new_item.join((item + ';')) if 'wxticketkey' in item: new_item = new_item.join((item + ';')) if 'wap_sid=' in item: new_item = new_item.join((item + ';')) if 'wap_sid2' in item: new_item = new_item.join((item + ';')) if 'pass_ticket' in item: new_item = new_item.join((item + ';')) print new_item it would no stop !!! and such as str_msg = 'malluin=MTg5Njk2ODIyMA==; Path=/bizmall/; HttpOnly, mallkey=9a9b172e5cac49c6b1ef970f4405c5e91712468846bb23c477c852d4987703b074ce9a48b440d92ec7dd1012275c926a41a8e76cd5a0e4b17efa705ab2d42fc85192b6542b218d2ecefc88f0f7cd7c68; Path=/bizmall/; HttpOnly, malluin=EXPIRED; Path=/; Expires=Sun, 07-May-2017 09:49:24 GMT; HttpOnly, mallkey=EXPIRED; Path=/; Expires=Sun, 07-May-2017 09:49:24 GMT; HttpOnly, payforreadsn=EXPIRED; Path=/; Expires=Sun, 07-May-2017 09:49:24 GMT; HttpOnly, wxtokenkey=b7945ae2cd97e8e5d3029cd7b90a893f68ace0b498b100ff63d61d8bb2a0259c; Path=/; HttpOnly, wxticket=3510401828; Path=/; HttpOnly, wxticketkey=72a9df89b5c9460ea7507b21f5c6938068ace0b498b100ff63d61d8bb2a0259c; Path=/; HttpOnly, wap_sid=CJzgxYgHEkBVSXBfZVJUdktUVi1QV0RrSVNTR08wV3poTjE4UEpyVHU1b2JmMFZCaEhqVGVjTHJQRTVzaENzLXhWUnV2cGlFGAQg/BEo7rzXnwswpP7AyAU=; Path=/; HttpOnly, wap_sid2=CJzgxYgHEnBTM045bVNlZ0xOQmROSVNydEV4UExZZFhma1BpZVI2UVlybXc1WFlpa2NZbXRLLVpnTnl6UldVeGQxSnotbDgtR2tkVTFEek96U3ExU2VWYzQ1cTRiVmc3R0JBZWlMUEU3S1NScG9KTmhubUhBd0FBMKT+wMgF; Path=/; HttpOnly, pass_ticket=0JAIZfxQAFgv68rxGl33/gZEtmgCTyHk3Jd2pSWZOnQg0u5FKjc3BdNJABTOAyQ+; Path=/; HttpOnly'.replace( 'HttpOnly', '').replace(',', '').replace(' ', '') items = str_msg.split(';') new_item = '' for item in items: if 'wxtokenkey' in item: # new_item = new_item.join((item + ';')) new_item = new_item.join([item, ';']) if 'wxticketkey' in item: new_item = new_item.join([item, ';']) if 'wap_sid=' in item: new_item = new_item.join([item, ';']) if 'wap_sid2' in item: new_item = new_item.join([item, ';']) if 'pass_ticket' in item: new_item = new_item.join([item, ';']) print new_item it would be have a str and this str is pass_ticket=0JAIZfxQAFgv68rxGl33/gZEtmgCTyHk3Jd2pSWZOnQg0u5FKjc3BdNJABTOAyQ+wap_sid2=CJzgxYgHEnBTM045bVNlZ0xOQmROSVNydEV4UExZZFhma1BpZVI2UVlybXc1WFlpa2NZbXRLLVpnTnl6UldVeGQxSnotbDgtR2tkVTFEek96U3ExU2VWYzQ1cTRiVmc3R0JBZWlMUEU3S1NScG9KTmhubUhBd0FBMKT+wMgFwap_sid=CJzgxYgHEkBVSXBfZVJUdktUVi1QV0RrSVNTR08wV3poTjE4UEpyVHU1b2JmMFZCaEhqVGVjTHJQRTVzaENzLXhWUnV2cGlFGAQg/BEo7rzXnwswpP7AyAU=wxticketkey=72a9df89b5c9460ea7507b21f5c6938068ace0b498b100ff63d61d8bb2a0259cwxtokenkey=b7945ae2cd97e8e5d3029cd7b90a893f68ace0b498b100ff63d61d8bb2a0259c;;;;; but i think it should be wxtokenkey=b7945ae2cd97e8e5d3029cd7b90a893f68ace0b498b100ff63d61d8bb2a0259c;wxticketkey=72a9df89b5c9460ea7507b21f5c6938068ace0b498b100ff63d61d8bb2a0259c;wap_sid=CJzgxYgHEkBVSXBfZVJUdktUVi1QV0RrSVNTR08wV3poTjE4UEpyVHU1b2JmMFZCaEhqVGVjTHJQRTVzaENzLXhWUnV2cGlFGAQg/BEo7rzXnwswpP7AyAU=;wap_sid2=CJzgxYgHEnBTM045bVNlZ0xOQmROSVNydEV4UExZZFhma1BpZVI2UVlybXc1WFlpa2NZbXRLLVpnTnl6UldVeGQxSnotbDgtR2tkVTFEek96U3ExU2VWYzQ1cTRiVmc3R0JBZWlMUEU3S1NScG9KTmhubUhBd0FBMKT+wMgF;pass_ticket=0JAIZfxQAFgv68rxGl33/gZEtmgCTyHk3Jd2pSWZOnQg0u5FKjc3BdNJABTOAyQ+; |
|||
msg293232 - (view) | Author: Ezio Melotti (ezio.melotti) * ![]() |
Date: 2017-05-08 11:11 | |
I think you are misunderstanding how join works. join is useful when you have a list of strings, and you want to combine them together, possibly specifying a separator. The syntax is separator.join(list_of_strings), for example: >>> '-'.join(['foo', 'bar', 'baz']) 'foo-bar-baz' What you are doing is: new_item = new_item.join((item + ';')) Here new_item is the separator, and (item + ';') is a string (a sequence of characters), so the separator is added between each character of the string: >>> '-'.join('foobarbaz') 'f-o-o-b-a-r-b-a-z' new_item will grow bigger and bigger, and since you keep adding it between each character of the item, Python will soon run out of memory: >>> 'newitem'.join('foobarbaz') 'fnewitemonewitemonewitembnewitemanewitemrnewitembnewitemanewitemz' You probably want to add the items to a new list, and after the for loop you just need to do '; '.join(new_list_of_items), or, if you want a ; at the end, you can add (item + ';') to the list and then use ' '.join(new_list_of_items). I also suggest you to use the interactive interpreter to experiment with join. |
History | |||
---|---|---|---|
Date | User | Action | Args |
2022-04-11 14:58:46 | admin | set | github: 74491 |
2017-05-08 11:11:16 | ezio.melotti | set | status: open -> closed nosy: + ezio.melotti messages: + msg293232 resolution: not a bug stage: resolved |
2017-05-08 10:52:56 | 方文添 | create |