博客專欄

        EEPW首頁 > 博客 > ython二進制方式讀取文件,并將讀取出的數據以txt的格式保存

        ython二進制方式讀取文件,并將讀取出的數據以txt的格式保存

        發布人:電子禪石 時間:2024-08-12 來源:工程師 發布文章
        import os
        import struct
        import numpy as np
        
        
        def read_file():                                    	# 函數功能為:將一個文件夾下所有二進制文件以每四個字節方式讀取,將讀取出的數據轉換為浮點類型的數據并以txt格式保存到新的地址去
            path = './二進制文件所在文件夾名稱'            		# 文件夾地址
            new_path = './要存放生成txt文件的文件夾名稱/'   		# 新的存放生成文件的文件夾地址
            b_list = ['此處填寫二進制文件名稱(也可以參考2020.11.10所寫博客,利用后綴名找到path文件夾下所有二進制文件)']										
            
            for b_file in b_list:
                f = open(path+'/'+b_file, 'rb')          		# 對b_list列表的文件以二進制方式讀取
                b_file_ext = os.path.splitext(b_file) 			# 分離二進制文件前后綴,b_front為前綴名,b_ext為后綴名
                b_front, b_ext = b_file_ext
                m = []											# 空列表用于存放二進制數據轉換為的浮點數
        	        while True:                                 # 每四個字節進行讀取以及格式轉換
                    a = f.read(4)
                    if a == b'':                            	# 為空結束循環
                        break
                    a_float = struct.unpack("f", a)[0]     		# 此處存在存儲的大小端問題   將二進制數據轉換為浮點數
                    m.append(a_float)
                m_array = np.array(m)                       	# 將m列表轉換為array數組
        
                if not os.path.exists(new_path):            	# 判斷工作目錄有無new_path文件夾,若無則創建
                    os.mkdir(new_path)
        
                np.savetxt(new_path+b_front+'.txt', m_array)  	# 對文件進行重命名并保存到新的文件夾
                f.close()
        
        read_file()


        *博客內容為網友個人發布,僅代表博主個人觀點,如有侵權請聯系工作人員刪除。



        關鍵詞: python

        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 金门县| 临西县| 铁岭县| 伊金霍洛旗| 南开区| 思茅市| 洪江市| 拉萨市| 泊头市| 淮阳县| 兴业县| 思茅市| 嘉义市| 舒兰市| 大石桥市| 海宁市| 锦州市| 黔南| 油尖旺区| 怀化市| 辽宁省| 尚志市| 韩城市| 连江县| 五原县| 腾冲县| 四子王旗| 喀什市| 宜春市| 和田市| 红安县| 博野县| 鄂州市| 周至县| 台东市| 安远县| 常德市| 佛山市| 长寿区| 县级市| 伊宁市|