在 python 上打开多个文件目录

Open multiple file directories on python

我想循环访问我的 .bin 类型的文件,每个文件包含三个双精度类型的值(俯仰、偏航、滚动)。 到目前为止,我只能使用 with open('annotations/01/frame_00004_pose.bin', 'rb') as fid:

访问一个文件

我知道我需要更改那行代码以使我的循环正常工作。我只是不确定我该如何继续。所以我的文件是 annotations 有 01-24 个文件,每个文件都有许多其他 .bin

类型的文件

这是我到目前为止所做的。

import pandas as pd
import numpy as np
import os

pyr = pd.DataFrame(columns = ['pitch','yaw','roll'])
with os.scandir('annotations') as entries:
    for i in entries:
        with open('annotations/01/frame_00004_pose.bin', 'rb') as fid:
            data_array = np.fromfile(fid, np.float32)
        para = data_array[3:]
        pyr = pyr.append({'pitch':para[0],'yaw':para[1],'roll':para[2]},ignore_index = True)
print(pyr)

如有任何帮助,我们将不胜感激。

是的,使用 glob 是个好主意,看看吧:

import pandas as pd
import numpy as np

import os
import glob

pyr = pd.DataFrame(columns = ['pitch','yaw','roll'])
entries = glob.glob('annotations/**/*.bin', recursive=True)
for entry in entries:
    with open(entry, 'rb') as fid:
        data_array = np.fromfile(fid, np.float32)
    para = data_array[3:]
    pyr = pyr.append({'pitch':para[0],'yaw':para[1],'roll':para[2]},ignore_index = True)
print(pyr)