读写文件时,你可能会遇到空格带来的错误,这些错误通常很难调试,因为空格符,制表符(tab)和换行符通常是不可见的。
>>> s = '1 2\t 3\n 4'
>>> print(s)
12 3
4内置函数repr可以解决这个问题,它将任一对象作为参数并返回该对象的字符串表示,字符串中使用反斜杠序列代表空白字符。
>>> print(repr(s))
'1 2\t 3\n 4'这对调试倒是很有帮助。
还有一个你可能遇到的问题是不同的系统使用了不同的字符来表示一行结束。一些操作系统使用\n,一些使用返回字符\r,还有一些两个都用,如果你要在不同操作习题间转移文件,这些差异可能会导致错误发生。
绝大多数操作系统都提供格式转换的应用,当然了,你也可以自己写一个。