微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

使用python和boto3抢占文件名的一部分

如何解决使用python和boto3抢占文件名的一部分

我刚开始使用python,但我仍然是一个新手,我想创建一个函数来捕获文件名的一部分,这些文件名与将这些文件存储在s3存储桶中的某种模式相对应。

以我为例,假设我有5个.txt文件

Transfarm_DAT_005995_20190911_0300.txt Transfarm_supplierDivision_058346_20190911_0234.txt Transfarm_supplierDivision_058346_20200702_0245.txt Transfarm_supplierDivision_058346_20200703_0242.txt Transfarm_supplierDivision_058346_20200704_0241.txt

我希望脚本通过这些文件名,在文件扩展名之前获取字符串“类别,即“ Transfarm_DAT”和日期“ 20190911””。

您能向我指出可以帮助我的python模块和指南的方向吗?

解决方法

如果文件名始终像这样,请签出splitjoin函数。否则,正则表达式是另一种途径。

files_list = ['Transfarm_DAT_005995_20190911_0300.txt ','Transfarm_SupplierDivision_058346_20190911_0234.txt','Transfarm_SupplierDivision_058346_20200702_0245.txt','Transfarm_SupplierDivision_058346_20200703_0242.txt','Transfarm_SupplierDivision_058346_20200704_0241.txt']

category_list = []
date_list = []
for f in files_list:
    date = f.split('.')[0].split('_',2)[2]
    category = '_'.join([f.split('.')[0].split('_')[0],f.split('.')[0].split('_')[1]])
    # print(category,date)
    category_list.append(category)
    date_list.append(date)
print(category_list,date_list)

输出列表:

['Transfarm_DAT','Transfarm_SupplierDivision','Transfarm_SupplierDivision'] ['005995_20190911_0300','058346_20190911_0234','058346_20200702_0245','058346_20200703_0242','058346_20200704_0241']

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。