在python中打印文件作为列表打印为十六进制值,同时将它们打印为行,用空格和新行分隔

时间:2017-07-06 10:51:11

标签: python printing

添加

print(variable, end="", sep="")

没有帮助

这是我的代码,将该文件打印为变量(作为列表)

with open("file.txt", "r") as f:
    variable = f.readlines()
print(variable)

这是输出

['?\u200f6\x00l\x001\x00a\x00d\x00l\x00\n', '\x00\n', '\x006\x00k\x00t\x00i\x00q\x00e\x00\n', '\x00\n', '\x006\x00k\x00t\x00j\x00j\x00d\x00\n', '\x00\n', '\x006\x00k\x00t\x00l\x009\x00o\x00\n', '\x00\n', '\x006\x00k\x00w\x007\x001\x000\x00\n', '\x00\n', '\x006\x00k\x00x\x00o\x00s\x00f\x00\n', '\x00\n', '\x005\x00m\x00w\x00n\x00h\x008\x00\n', '\x00\n', '\x00']

这是文件内容

6l1adl
6ktiqe
6ktjjd
6ktl9o
6kw710
6kxosf
5mwnh8

逐行打印文件

for line in variable:
    print (line, end="", sep="")

这是输出

??6 l 1 a d l

 6 k t i q e

 6 k t j j d

 6 k t l 9 o

 6 k w 7 1 0

 6 k x o s f

 5 m w n h 8

我也试过这些

lines = f.read().splitlines()

但我得到了相同的结果

所以我尝试将文件更改为utf8,现在打印给我这个

['ï»?6l1adl', '6ktiqe', '6ktjjd', '6ktl9o', '6kw710', '6kxosf', '5mwnh8']

非常接近,但开头的这个ï»?是什么

所以我试图用切片来修复它

variable[0] = (variable[0])[3:]

但我仍然想知道为什么这一切都发生了

顺便说一下,我最后关闭了文件

我一直在搜索google,并且从昨天开始尝试所有内容,所以差不多12个小时,我无法在任何地方找到答案,所以我没有其他地方可以问这里,如果需要更多信息告诉我

PS。写这一切的时候,我有点时间地解决了这个问题,但我还是想要一个解释

0 个答案:

没有答案