我有以下问题,有一个函数可以读取一个大文件(少量Mb),内容如下:
0x05 0x00 0x00 0x00 0xCF 0x00 0x00 0x00 ; ..........
0xCF 0x00 0x00 0x00 0x22 0x00 0x00 0x00 ; ......"...
0x51 0x84 0x07 0x00 0x02 0x00 0x01 0x00 ; ..Q.......
我的函数必须只读取十六进制值,并忽略“;”跟随字符直到行尾。
第一行的数据我需要的是
“0x05 0x00 0x00 0x00 0xCF 0x00 0x00 0x00”
我尝试了两种方法,一种是带有此功能的单独文件
def ReadFileAsList(fileName):
fileName = "2Output.txt"
fileContentStr = ""
with open(fileName,'r') as f:
for line in f:
fileContentStr += line.split(';')[0]
fileContentList = fileContentStr.split()
return fileContentList
和第二种方法,当这些行直接在我的主.py文件中
fileName = "2Output.txt"
fileContentStr = ""
with open(fileName,'r') as f:
for line in f:
fileContentStr += line.split(';')[0]
fileContentList = fileContentStr.split()
第二种方法非常快,第一种方法(在单独的文件中使用单独的功能)非常慢,我缺少什么? 谢谢你的提示