lov*_*eed 0 python file file-handling python-2.7 python-3.x
我有一个目录,我有很多数据文件,但数据文件名有任意数字.例如
data_T_1e-05.d
data_T_7.2434.d
data_T_0.001.d
Run Code Online (Sandbox Code Playgroud)
等等.由于文件名中的小数,它们不会根据数字的值进行排序.我想要做的是:我想打开每个文件,从文件名中提取数字,将它放在一个数组中,并使用数据进行一些操作.例:
a = np.loadtxt("data_T_1e-05.d",unpack=True)
res[i][0] = 1e-05
res[i][1] = np.sum[a]
Run Code Online (Sandbox Code Playgroud)
我想通过运行循环为每个文件执行此操作.我认为可以通过创建一个包含所有文件名(使用import os)然后用它做一些事情的数组来完成.怎么做到呢?
如果您的文件都以相同的前缀开头并以相同的后缀结尾,只需切片并传递给float():
number = float(filename[7:-2])
Run Code Online (Sandbox Code Playgroud)
这将删除前7个字符(即data_T_)和最后2个(.d).
这适用于您的示例文件名:
>>> for example in ('data_T_1e-05.d', 'data_T_7.2434.d', 'data_T_0.001.d'):
... print float(example[7:-2])
...
1e-05
7.2434
0.001
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3453 次 |
| 最近记录: |