Windows下生成txt文件时的换行
2017-07-03 09:19
239 查看
产品要个埋点的文件,于是写了个脚本处理埋点Key的枚举类,如下
其中,在匹配到埋点字段的每一行末尾加上了\n来换行。
输出结构在Sublime里面看到是正常的,但用记事本打开发现所有内容在一行。
然后度娘了一波:http://blog.csdn.net/xiaofei2010/article/details/8458605 http://stackoverflow.com/questions/1761051/difference-between-n-and-r
测试了一下:
测试1.
测试2.
测试2里面只使用\n就完成了换行,而按照之前文章中的说法和测试1的结果,应该只有\r\n才能完成换行,这个原因是:
所以使用标准输入输出流的时候用\n就能完成换行。
最后,关于为什么会有\r\n换行,度娘到的说法是:
https://books.google.com/books?id=ZNI5dvBSfZoC&pg=PA69&lpg=PA69&dq=Teletype+Model+33+%5Cr%5Cn&source=bl&ots=YrIPJvx9nu&sig=Aan02xRSJBKR4kuXmKKBrt1q7o4&hl=zh-CN&sa=X&ved=0ahUKEwi0mN6_oOnTAhUC9GMKHd0xCCgQ6AEINzAC#v=onepage&q=Teletype%20Model%2033%20%5Cr%5CnTeletype%20Model%2033&f=false
然后这台机器是1963年的。
噫,1963年的东西遗留到了现在,你也要洗半个世纪?
import sys import os import string import re def replace(file_name): file = open(file_name) line_list = file.readlines() new_line_list = [] pattern = re.compile('"(.*)"') index = 0 while index <len(line_list): line = line_list[index] index += 1 kaValue = pattern.findall(line); if len(kaValue) > 0: line = pattern.findall(line)[0] + "\n" else: line = "" new_line_list.append(line) new_file = open("埋点.txt","wb") new_file.writelines(new_line_list) if __name__ == '__main__': replace("DIYActionConstant.as") |
输出结构在Sublime里面看到是正常的,但用记事本打开发现所有内容在一行。
然后度娘了一波:http://blog.csdn.net/xiaofei2010/article/details/8458605 http://stackoverflow.com/questions/1761051/difference-between-n-and-r
测试了一下:
测试1.
测试2.
#include <iostream> using namespace std; int main() { cout << "this is the first line\n"; cout << "this is the second line\r"; cout << "this is the third line\n"; cout << "this is the fouth line\r"; cout << "this is the fifth line\n"; cout << "end" ; return 0; } |
测试2里面只使用\n就完成了换行,而按照之前文章中的说法和测试1的结果,应该只有\r\n才能完成换行,这个原因是:
所以使用标准输入输出流的时候用\n就能完成换行。
最后,关于为什么会有\r\n换行,度娘到的说法是:
https://books.google.com/books?id=ZNI5dvBSfZoC&pg=PA69&lpg=PA69&dq=Teletype+Model+33+%5Cr%5Cn&source=bl&ots=YrIPJvx9nu&sig=Aan02xRSJBKR4kuXmKKBrt1q7o4&hl=zh-CN&sa=X&ved=0ahUKEwi0mN6_oOnTAhUC9GMKHd0xCCgQ6AEINzAC#v=onepage&q=Teletype%20Model%2033%20%5Cr%5CnTeletype%20Model%2033&f=false
然后这台机器是1963年的。
噫,1963年的东西遗留到了现在,你也要洗半个世纪?
相关文章推荐
- MAC处理windows上传的txt文件 换行问题
- DataSet生成XML样式的TXT文件(为了换行)
- 在Windows、Linux下,分别利用BAT批处理文件和Shell脚本,生成类似“20150605_111327.txt”命名的文件
- Windows下将文件夹下所有的文件名导出成生成TXT文件
- windows下PHP批量生成打包android程序APK-渠道txt植入apk文件
- vim的lookupfile插件在windows平台上tag文件生成
- 用Windows自带的程序打开一个Txt文件
- 如何去掉VB生成的txt文件中的黑块
- VF处理.dbf文件向.txt文件转换时的换行问题
- 把windows的纯文本文件txt转为unix格式的文件
- [Windows编程] 如何捕捉程序异常/crash 并生成 dump 文件
- 动态生成.txt文件并提供下载
- 把数据字段加密,生成txt文件,然后批量生成ISO文件
- Felomeng翻译:libsvm2.88之生成windows下的二进制文件(二进行文件就是通常所说的exe文件,即可执行文件)
- 使用Acrobat 在Windows/Temp下会生成大量的文件, 及解决方法
- [Windows编程] 如何捕捉程序异常/crash 并生成 dump 文件
- DOS总生成目录文件的tree命令--tree /f e:/book >e:/list.txt
- asix2eclipse插件生成文件service.xml问题及解决办法.txt
- 把数据字段加密,生成txt文件,然后批量生成ISO文件
- ABAP 生成TXT文件