我有许多文本文件,每个文件中有一个长十六进制数字。我想找出每个十六进制数的长度,即['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'关于如何读取数字并找到它包含多少个十六进制数字的任何想法?
1 回答

天涯尽头无女友
TA贡献1831条经验 获得超9个赞
readlines返回s (lines) - 如果list是str单行文件,它是一个元素的列表。用于read将整个文本获取为单个str、strip前导和尾随空格,然后只需获取len:
with open(myFile , 'r') as f:
filey = f.read()
filey = filey.strip()
n = len(filey)
另请注意,我使用过with所以我不必关心自己关闭该文件句柄。我假设你所有的文件都是单行的并且包含一些十六进制数字。请注意,如果您的数字有任何前导0s,它们也会被计算在内,例如长度000F为 4。
添加回答
举报
0/150
提交
取消