当你在python中的文件对象上使用.read(n)
方法时,你会得到n个字节。
如果我首先在字符串中加载文件,有什么功能可以让我做同样的事情吗?
因为我猜它不像文件字符串[0:5]那么容易,因为编码类型不同。 (我真的不想注意那个,读取的文件可以是任何格式的文本文件或二进制文件)
答案 0 :(得分:3)
如果string是类型str
(不是Unicode字符串,请键入unicode
),那么它是一个字节字符串,切片将按预期工作:
prefixed_bits = "extract this double:\xc2\x8eET\xfb!\t@"
pos = prefixed_bits.index(":") + 1
print "That looks like the value %f" % struct.unpack("d", prefixed_bits[pos:pos+8])
这将打印3.141593,其二进制表示形式以字符串文字编码。