这篇文章将为大家详细讲解有关在python3中把文本转换为二进制的方法,小编觉得挺实用的,因此分享给大家做个参考,希望大家阅读完这篇文章后可以有所收获。

在python3中把文本转换为二进制的方法:首先修改dirroot为要读取的文件夹的路径;然后遍历所有的文件夹,读取txt文件;最后更改newdirroot为新的目录路径,程序运行完以后会生成和原来一样的目录和dat的二进制文件。

当读取读大量数据的时候,为了加快读取的速度,需要将文本文件转为二进制文件。

python代码如下:

#coding:utf-8#!/bin/pythonimportosimportsysimportos.pathimportpickleimportstructdirroot="F:\\feature_train\\"newdirroot="F:\\new\\"fordirnamesinos.listdir(dirroot):print("进入文件夹:")#printdirnamesfordirnameinos.listdir(dirroot+dirnames):#printdirnameifdirname.split('.')[1]!='txt':continuefile=open(dirroot+dirnames+'\\'+dirname,'r')filename=dirname.split('.')[0]+'.dat'ifnotos.path.exists(newdirroot+dirnames+'\\'):os.makedirs(newdirroot+dirnames+'\\')fileNew=open(newdirroot+dirnames+'\\'+filename,'wb')lines=file.readlines()forlineinlines:curLine=line.split('')foriinrange(len(curLine)):iflen(curLine[i])==0:continueparsedata=struct.pack("f",float(curLine[i]))fileNew.write(parsedata)fileNew.write('\n')fileNew.close()file.close()

使用方法:修改dirroot为要读取的文件夹的目录路径,程序会遍历所有的文件夹,读取其中的txt文件。根目录下都是文件夹。 newdirroot为新的目录的路径,程序运行完以后会生成跟原来一样的目录和dat的二进制文件。

txt文件里为float的格式的数据,可以根据情况修改。

C++ 读取二进制文件:

#include<iostream>#include<fstream>#include<stdio.h>usingnamespacestd;intmain(intargc,char**argv){printf("www\r\n");//std::cout<<"www"<endl;floatrfea[1024]={0};FILE*fp;fp=fopen("001.dat","rb");if(fp!=NULL){fread(rfea,1024*sizeof(float),1,fp);fclose(fp);}inti=0;for(i=0;i<30;i++){printf("%f\r\n",rfea[i]);}return0;}

关于在python3中把文本转换为二进制的方法就分享到这里了,希望以上内容可以对大家有一定的帮助,可以学到更多知识。如果觉得文章不错,可以把它分享出去让更多的人看到。