【发布时间】:2014-12-23 08:19:56
【问题描述】:
所以我试图从包含十六进制数字的文本文件中读取一行,然后将其转换为十进制数字,然后将其除以 3。
但是我收到一条错误消息:“ValueError: invalid literal for int() with base 16:”
这是我所做的:
f = open('simp.txt','r')
line = f.readline()
while line:
line = f.readline()
temp = (int(str(line[3:11]),16))//3
print(temp)
谁能告诉我我的代码有什么问题?谢谢!
编辑:这是我的 simp.txt 中的内容:
00000000
000032C8
所以程序应该打印:“4333”,因为 13000//3=4333。
【问题讨论】:
-
我的猜测是某些行,数据不是 int; simp.txt 中有什么?
-
错误是您可能正在尝试将字符转换为整数。请注意,readline 不会从字符串中删除 '\r' 或 '\n' 字符
-
请给我们一些示例输入和预期输出
标签: python list file file-io integer