要遵循协议,' \ r \ n'不能被' \ n'
取代但是当我用python将下面的字符串写入文件时,' \ r \ n'全部被' \ n'
取代"*3\r\n$3\r\nSET\r\n$3\r\nkey\r\n$5\r\nvalue\r\n"
根据docs,Linux上的Python对文本和二进制文件没有区别,所以不管我是否附加了' b'无论模式与否,没有区别,所有' \ r'走了
如何解决这个问题?任何帮助将不胜感激;)
答案 0 :(得分:1)
它应该像你说的那样工作。
您没有看到\r
的一个可能原因是您正在使用的编辑器检测到文件格式(行结尾)并隐藏CR。
例如,vim会自动检测fileformat(ff)。试试:set ff
。如果文件始终具有fileformat=dos
,它会显示\r\n
。否则,它会在您评论时显示fileformat = unix和^ M.
尝试xxd filename
将原始字节视为十六进制格式。它不会隐藏CR(0d
十六进制)