在 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)
我想循环访问我的 .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)