Python 如何获取文本文件中十六进制数的长度
我有许多文本文件,每个文件中都有一个长的十六进制数。我想找出每个十六进制数的长度,即['FFFF0F']=6,['A23000000000FD']=17 我在以下文件中阅读了该文件:Python 如何获取文本文件中十六进制数的长度,python,hex,text-files,readlines,Python,Hex,Text Files,Readlines,我有许多文本文件,每个文件中都有一个长的十六进制数。我想找出每个十六进制数的长度,即['FFFF0F']=6,['A23000000000FD']=17 我在以下文件中阅读了该文件: file_to_open = open(myFile , 'r') filey = file_to_open.readlines() print(type(filey)) a = hex(int(filey, 16)) print(type(a)) n = len(filey) print('length =
file_to_open = open(myFile , 'r')
filey = file_to_open.readlines()
print(type(filey))
a = hex(int(filey, 16))
print(type(a))
n = len(filey)
print('length = ', n)
我的错误是:
TypeError: int() cannot convert non-string with explicit base
如果移除底座16,则会出现错误:
TypeError : int() argument must be a string, a bytes-like object or a number, not 'list'
关于如何读入数字并找出它包含多少十六进制数字,你有什么想法吗?
readlines
返回str
s(行)的list
——如果是一行文件,它就是一个元素的list。使用read
将整个文本作为单个str
,strip
前导和尾随空格,然后只获取len
:
with open(myFile , 'r') as f:
filey = f.read()
filey = filey.strip()
n = len(filey)
还要注意的是,我使用了
和
,因此我不必亲自关闭该文件句柄。我假设您的所有文件都是单行的,并且包含一些十六进制数。请注意,如果您的数字有任何前导的0
s,它们也将被计算在内,因此,例如000F
的长度为4。请共享您的文件片段['00FF91203225000000000000000…04A201F201A301A2010000\n']