简体   繁体   English

替换部分列表元素

[英]Replace part of the list element

I have a list variable which has elemnts like below: ['Cordial/contactactivity/export/bounce/0-ContactActivity-bounce-20211109-131121.csv', 'Cordial/contactactivity/export/bounce/0-ContactActivity-bounce-20211109-131150.csv', 'Cordial/contactactivity/export/bounce/0-ContactActivity-bounce-20211109-131160.csv', 'Cordial/contactactivity/export/bounce/0-ContactActivity-bounce-20211109-131169.csv', 'Cordial/contactactivity/export/bounce/0-ContactActivity-bounce-20211109-131189.csv']我有一个列表变量,其中包含如下元素: ['Cordial/contactactivity/export/bounce/0-ContactActivity-bounce-20211109-131121.csv', 'Cordial/contactactivity/export/bounce/0-ContactActivity-bounce-20211109-131150.csv', 'Cordial/contactactivity/export/bounce/0-ContactActivity-bounce-20211109-131160.csv', 'Cordial/contactactivity/export/bounce/0-ContactActivity-bounce-20211109-131169.csv', 'Cordial/contactactivity/export/bounce/0-ContactActivity-bounce-20211109-131189.csv'] contactactivity ['Cordial/contactactivity/export/bounce/0-ContactActivity-bounce-20211109-131121.csv', 'Cordial/contactactivity/export/bounce/0-ContactActivity-bounce-20211109-131150.csv', 'Cordial/contactactivity/export/bounce/0-ContactActivity-bounce-20211109-131160.csv', 'Cordial/contactactivity/export/bounce/0-ContactActivity-bounce-20211109-131169.csv', 'Cordial/contactactivity/export/bounce/0-ContactActivity-bounce-20211109-131189.csv']

This is file name with file path in it.这是包含文件路径的文件名。 Want to build a list with only file name, how can i do that?想建立一个只有文件名的列表,我该怎么做? Output should be:输出应该是:

['bounce-20211109-131121.csv', 'bounce-20211109-131150.csv', 'bounce-20211109-131160.csv', 'bounce-20211109-131169.csv', 'bounce-20211109-131189.csv'] ie strip out string 'Cordial/contactactivity/export/bounce/0-ContactActivity-' ['bounce-20211109-131121.csv', 'bounce-20211109-131150.csv', 'bounce-20211109-131160.csv', 'bounce-20211109-131169.csv', 'bounce-20211109-131189.csv']即去掉字符串 'Cordial/contactactivity/export/bounce/0-ContactActivity-'

You can use os.path.split ( docs here ) and get the last segment.您可以使用os.path.split此处的文档)并获取最后一段。 Then you just need to trim the part you don't want.然后你只需要修剪你不想要的部分。

import os
data = [
    'Cordial/contactactivity/export/bounce/0-ContactActivity-bounce-20211109-131121.csv', 
    'Cordial/contactactivity/export/bounce/0-ContactActivity-bounce-20211109-131150.csv',
    'Cordial/contactactivity/export/bounce/0-ContactActivity-bounce-20211109-131160.csv',
    'Cordial/contactactivity/export/bounce/0-ContactActivity-bounce-20211109-131169.csv',
    'Cordial/contactactivity/export/bounce/0-ContactActivity-bounce-20211109-131189.csv'
]
data = [os.path.split(i)[-1].replace('0-ContactActivity-', '') for i in data]

resulting in:导致:

>>> data
['bounce-20211109-131121.csv', 'bounce-20211109-131150.csv', 'bounce-20211109-131160.csv', 'bounce-20211109-131169.csv', 'bounce-20211109-131189.csv']

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM