在Python中我可以读取什么文件作为文本和什么作为二进制文件?

时间:2016-06-27 22:20:12

标签: python

我想阅读带有open("page.html","r")的HTML文件。我能够毫无问题地做到这一点。我的问题是Python认为哪些文件是文本文件和哪些二进制文件?例如,.css文件文件也是吗?如果我想在没有二进制模式的情况下读取二进制文件会发生什么?

2 个答案:

答案 0 :(得分:1)

您读取文件的模式实际上取决于您要对其执行的操作。您也可以打开任何文件。但是,如何读/写数据是非常不同的。不以二进制模式读取二进制文件非常类似于在文本编辑器中打开相同的二进制文件;数据将被解释为ascii数据而不是二进制数据,并且会发生奇怪的事情。

答案 1 :(得分:0)

每个文件都可以看作二进制0和1 s或ASCII字符(即文本)。在记事本或编程编辑器(如sublime)中打开文件时,您会将该文件视为ASCII字符或文本。像.html .css文件这样的文件在打开并以ASCII字符文本格式读取时是有意义的,但您仍然可以在二进制模式下打开和读取它们,这将是每个字符的二进制值,而不是人类可读的。

关于某些文件,例如.exe,您仍然可以打开并将它们作为ASCII字符读取,但它们不是以ASCII字符生成的,因此当您在记事本中将它们作为文本打开时,您会看到非人类可读的字符,它只是查看让每8个字节作为ASCII字符,但事实上这些字节可能是分开的,例如当它们被计算机cpu读取时。