我有141个文件,都具有相同的格式。以下是前五个参考。
400km_t150317_054000
400km_t150317_054100
400km_t150317_054200
400km_t150317_054300
400km_t150317_054400
Python中是否有一种方法可以创建一个循环来获取文件名的最后一部分并将其保存在时间数组中?054000、054100、054200、054300、054400都是UT时间,我不知道如何让Python将文件名的这一部分提取到数组中。
在下划线(_
)处分割文件名
采用 time.strptime(time_string, "%H%M%S")
定义time_array
并附加time_array.append(time_obj)
import time
filenames = ['400km_t150317_054000', '400km_t150317_054100', '400km_t150317_054200', '400km_t150317_054300', '400km_t150317_054400']
time_array = []
for f in filenames:
parts = f.split('_')
time_string = parts[-1]
time_obj = time.strptime(time_string, "%H%M%S")
time_array.append(time_obj)
或简而言之,作为列表理解
import time
filenames = ['400km_t150317_054000', '400km_t150317_054100', '400km_t150317_054200', '400km_t150317_054300', '400km_t150317_054400']
time_array = [time.strptime(f.split('_')[-1], "%H%M%S") for f in filenames]
注意事项:
"%H%M%S"
:前2位代表小时,后2位代表分钟,后2位代表秒编辑:响应OP的评论,这是一种filenames
从文件夹中的所有文件生成数组并删除.dat
或任何其他扩展名的解决方案
import os
import pathlib
filenames = [pathlib.Path(f).stem for f in os.listdir('path/to/folder')]
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句