今天在写python代码时需要用到8进制数,便尝试着在数的前面加一个0来表示8进制数:077
,但是python解释器报错。
经查阅博客了解了python3中10进制、8进制与2进制的表示,写此博客以做记录。
16进制
>>> 0x14
20
>>> 0x11
17
8进制
>>> 0o14
12
>>> 0o11
9
2进制
>>> 0b11
3
>>> 0b10
2
其它进制转10进制
>>> int(0x15)
21
>>> int(0o15)
13
>>> int(0b10)
2
例子:从文件中读取数据,转换为8进制
f = open(r'C:UsersjmhDesktop8.txt', 'r')
# 该文件中一共126个数,3个为一组,将其转换为8进制,然后转换为字符串
res = ''
for i in range(42):
s = eval('0o' + f.read(3))
res += chr(s)
print(res)