我在Visual Studio中打开一个自动生成的文件来检查它,并且Visual Studio告诉我行结束符不一致。我知道LF和CRLF之间的区别,所以我认为我会尝试对代码进行小小更改,以根据平台使用正确的换行符。当行结束符一致时,行结束符不一致警告
我告诉Visual Studio不要更改它,并关闭文件。我用Python打开它,并用这段代码看看每一行。
with open(filename, 'r') as f:
# uses %r so it prints the non-formatted string (so I can see \r and \n)
print '\n'.join(('%r' % x for x in f.xreadlines()))
我看看输出,每行(除了最后一行)以'\ r \ n'结尾。最后一行没有换行符,所以它只包含文本。
我也用Emacs打开文件,它不会自动检测到使用DOS模式,并显示每行上的^ M字符。
为什么当我看到每一行都使用相同的行结束符时,文件的行结束符“不一致”?
当试图签入VS写入的文件时,我一直遇到这个错误。我通常的解决方案是在Notepad ++中打开文件,将行结束符更改为Unix并返回到DOS。 – sbi