在python中读取文件时意外中断

时间:2016-12-03 20:43:14

标签: python python-2.7

我正在尝试在python 2.7中为cmd编写一个hex-viewer 它工作得很好,但如果我尝试在Windows上查看已编译的文件,它只显示它的一小部分。我已经发现,read()在第一次出现0x1a时(以ASCII格式)中断。 Notepad ++将此char显示为SUB。我不知道这个控制字符的作用,为什么read()停止在这个字符处以及如何避免这种中断。任何人都可以帮助我吗?

这是我的全部代码:

    def main():

        while True:
            print "Enter a file path:"
            path = raw_input()
            f = open(path, 'r')
            text = f.read() # seems to break at 0x1a/SUB
            f.close()
            for c in text:
                hex_c = hex(ord(c))[2:]
                if len(hex_c) % 2: # if the hex number consists of 1 digit
                    hex_c = '0' + hex_c # fill the string with a zero
                print hex_c,
            print # just as a line break in the console

    if __name__ == '__main__':

        main()

0 个答案:

没有答案