如何获取文本文件中十六进制数的长度
How to get the length of a hex number in a text file
我有许多文本文件,每个文件中都有一个长的十六进制数字。我想找出每个十六进制数的长度,即 ['FFFF0F'] =6, ['A23000000000000FD'] =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 = ', 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
returns list
of str
s(行)——如果是单行文件,它是一个元素列表。使用 read
将整个文本作为单个 str
、strip
前导和尾随空格获取,然后只获取 len
:
with open(myFile , 'r') as f:
filey = f.read()
filey = filey.strip()
n = len(filey)
另请注意,我使用了 with
,因此我不必担心自己关闭该文件句柄。我假设你所有的文件都是单行的并且包含一些十六进制数。请注意,如果您的数字有任何前导 0
,它们也会被计算在内,因此例如 000F
的长度为 4。
我有许多文本文件,每个文件中都有一个长的十六进制数字。我想找出每个十六进制数的长度,即 ['FFFF0F'] =6, ['A23000000000000FD'] =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 = ', 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
returns list
of str
s(行)——如果是单行文件,它是一个元素列表。使用 read
将整个文本作为单个 str
、strip
前导和尾随空格获取,然后只获取 len
:
with open(myFile , 'r') as f:
filey = f.read()
filey = filey.strip()
n = len(filey)
另请注意,我使用了 with
,因此我不必担心自己关闭该文件句柄。我假设你所有的文件都是单行的并且包含一些十六进制数。请注意,如果您的数字有任何前导 0
,它们也会被计算在内,因此例如 000F
的长度为 4。