换行符

python实现:去除空格和换行符,比较两个text文件文本内容的差异,并输出第一个差异值

无人久伴 提交于 2019-12-05 02:08:20
# coding: utf-8#准备工作,把生成的t2.text文件通过Notepad++转成utf-8编码#输出结果为第一个存在差异的数据#每修改一次t2.text文件需要进行新一次转码import osos.chdir("D:/tesseract/t2")#更改文件目录#os.system("dir")#python 3.x#python 对比两个文件内容with open("t2.txt","r",encoding="utf-8") as file1,\open("text.txt","r",encoding="utf-8") as file2: fa = file1.read() fb = file2.read() fa =fa.replace(" ","") fa =fa.replace("\n","") fb =fb.replace(" ","") fb =fb.replace("\n","") sta=len(fa) stb=len(fb)if sta!=stb: print("错误,长度不相等")for m in range(sta): if fa[m]==fb[m]: flag=-1 else: flag = 1 print(fa[m]) print(fb[m]) breakif flag==1: print('数据存在差异')elif flag==-1:

[C++] IO Stream

╄→尐↘猪︶ㄣ 提交于 2019-12-04 16:13:06
目录 输入输出流 初识输入输出 IO 类 IO 对象无拷贝或赋值 cin 流的状态 管理输出缓冲 文件输入输出 文件模式 string 流 使用 istringstream 使用 ostringstream 输入输出流 初识输入输出 cin 是 istream 类型的对象 cout、cerr、clog 是 ostream 类型的对象 向流写入数据 << 运算符接受两个运算对象:左侧的运算对象必须是一个 ostream 对象,右侧的对象是要打印的值。 endl 操纵符:写入 endl 的效果是结束当前行,并且将与设备相关联的缓冲区中的数据刷到设备中。缓冲区刷新操作可以保证到目前为止所产生的所有输出都真正写入输出流中,而不是仅停留在内存中等待写入流。 从流读取数据 int v1 = 0, v2 = 0; std::cin >> v1 >> v2; 输入运算符 >> :接受一个istream作为其左侧运算对象,接受一个对象作为其右侧运算对象。从给定的istream读入数据,并存入给定的对象中。 使用 getline 读取一整行 getline 函数的参数是一个输入流和一个 string 对象,函数从给定的输入流中读入内容,直到遇到换行符为止( 换行符本身也被读取 ),然后报所读到的内容保存到string对象中( 不保存换行符 )。getline只要遇到换行符就结束读取操作,并返回结果

sql中去掉换行符和回车符

孤街浪徒 提交于 2019-12-03 20:43:22
在sql 语法中,char(13),char(10)或nchar(13),nchar(10)可表示SQL中的回车换行符,但是会以空格的形式显示。replace(replace(字段名,char(10), ''),char(13),'') 即解决了这个问题。 假如有一schema(模式)中的一张表有raw_data的字段,更新并去除字段去除回车符,换行符,空格和水平制表符的语句如下 UPDATE guard_patrol.patrol_item_raw_data SET raw_data=REPLACE(REPLACE(REPLACE(REPLACE(raw_data,CHR(13),''),CHR(10),''),CHR(9),''),' ',''); 注意:不同的数据库可能CHR不同,如果报错,需替换为CHAR!! 来源: https://www.cnblogs.com/dukedu/p/11808223.html

c++中文件最后一个字符不能读入问题的解决

爱⌒轻易说出口 提交于 2019-12-03 17:16:28
在做一个实验的时候,需要将文件中的数据逐行读入,在读入的时候遇到了一个问题,前面几行的数据读入正常,最后一行数据的读入会少一个数据,数据格式如下 注意箭头处,这里是文件的末尾了,前面的数据之后都跟了一个换行符,最后一行数据没有换行就直接结束了。 我之前的做法是 while (!feof(fin)) { if (fgets(word, 64, fin) == NULL) break; word[strlen(word) - 1] = '\0'; ...... 代码并不完整,但是已经能够说明问题了,我是想在读入数据时不要读入多余的符号,如换行。 fgets( char *str, int n, FILE *stream )函数会一直读入数据,直到读入数据个数为n-1,这时在str末尾添加 '\0‘ ,读入结束。或者是读入换行符或文件结束符,函数会将读入的换行符添加到str末尾,但不会将文件结束符添加到str末尾。 我们来试验一下对不对 第一行是我设置的试验数据,输入中文会影响判断,我将n的大小改成了17,并在word读入后加入了断点 结果是,word读入了16个数据 再将n改回原来的大小再看一下,正常的读入是下面这样 最后一行元素读入是这样,文件结束符EOF没有被写进去 用最开始的做法会导致最后的“24”的“4”被改成“\0",所以最后的数据丢失 像这样加个判断就好了 结果正确了 来源

Emacs 快速指南

一世执手 提交于 2019-12-03 15:47:53
Emacs 快速指南.(查看版权声明请至本文末尾) 【注意:位于【】之间的内容是译注,比如本行,下同。】 Emacs 键盘命令通常包含 CONTROL 键(有时候以 CTRL 或 CTL 来标示)和 META 键(有时候用 EDIT 或 ALT 来标示)。为了避免每次都要写出全名,我们 约定使用下述缩写: C- 表示当输入字符 时按住 CONTROL 键。 因此 C-f 就表示:按住 CONTROL 键再输入 f。 M- 表示当输入字符 时按住 META(或 EDIT 或 ALT)键。 如果你的键盘上没有 META 、EDIT 或 ALT 键,用下述方法也等效: 先按一下 ESC 键然后放开,再输入 。我们用 来表示 ESC 键。 重要提示:要退出 Emacs,请用 C-x C-c(两个连续的组合键)。 要退出一个正在运行中的命令,请用 C-g。 下文中左边顶行的“>>”字样用来提示你尝试键盘命令。比如: [本页当中特意留出一些空白是出于教学目的,请继续往后阅读] 现在输入 C-v (查看下一屏文字)移动到下一屏。 (别紧张,在输入字符 v 的同时注意要按住 CONTROL 键) 从现在开始,每读完当前一屏你都需要这样做一次。 值得注意的是,当你从上一屏滚到下一屏时,中间会有两行的重复;这样做是为 了维持滚屏的连续性,方便你顺畅、连续地阅读。 用编辑器

QRegExp解析

匿名 (未验证) 提交于 2019-12-03 00:36:02
正则表达式(regular expression)就是用一个“字符串”来描述一个特征,然后去验证另一个“字符串”是否符合这个特征。比如 表达式“ab+” 描述的特征是“一个 'a' 和 任意个 'b' ”,那么 'ab', 'abb', 'abbbbbbbbbb' 都符合这个特征。 1. 正则表达式规则 1.1 普通字符 1.2 简单的转义字符 表达式 可匹配 \r, \n 代表回车和换行符 \t 制表符 \\ 代表 "\" 本身 表达式 可匹配 \^ 匹配 ^ 符号本身 \$ 匹配 $ 符号本身 \. 匹配小数点(.)本身 1.3 能够与 '多种字符' 匹配的表达式 表达式 可匹配 \d 任意一个数字,0~9 中的任意一个 \w 任意一个字母或数字或下划线,也就是 A~Z,a~z,0~9,_ 中任意一个 \s 包括空格、制表符、换页符等空白字符的其中任意一个 . 小数点可以匹配除了换行符(\n)以外的任意一个字符 1.4 自定义能够匹配 '多种字符' 的表达式 表达式 可匹配 [ab5@] 匹配 "a" 或 "b" 或 "5" 或 "@" [^abc] 匹配 "a","b","c" 之外的任意一个字符 [f-k] 匹配 "f"~"k" 之间的任意一个字母 [^A-F0-3] 匹配 "A"~"F","0"~"3" 之外的任意一个字符 1.5 修饰匹配次数的特殊符号 表达式 作用

logstash合并有换行符的日志

匿名 (未验证) 提交于 2019-12-03 00:27:02
出现error日志时,有时出现多行信息,如果不处理,logstash会当成多条日志看待.如果你的日志是以时间开关的,请添加如下配置 } file { path => "/data/securityopdata/syncapi/logs/*.log" type => "logfile" start_position => "beginning" #sincedb_path => "/dev/null" codec => multiline { pattern => "^%{TIMESTAMP_ISO8601}" what => "previous" negate => true } add_field => { HOSTNAME => "郜金丹的空间" project_name => "syncapi" } } 文章来源: logstash合并有换行符的日志

python3.x 实现 print 不换行

匿名 (未验证) 提交于 2019-12-02 22:51:30
print( [ object , ... ], * , sep=' ' , end='\n' , file=sys.stdout,flush=FALSE ) python中print之后是默认换行的,是因为其默认属性 end 默认值为"\n"(\n为换行符) print('23 祝大家天天开心', end='!')   >>> 23 祝大家天天开心! end就表示print将如何结束,默认为end="\n"(\n为换行符) 来源:博客园 作者: HISAK 链接:https://www.cnblogs.com/HISAK/p/11622133.html

linux对^M换行符的处理

匿名 (未验证) 提交于 2019-12-02 21:59:42
经常在WINDOWS编辑的文件传送到LINUX在每行末尾都有一个^M符号,这个会导致shell脚本运行错误。 这是因为 DOS下的编辑器和Linux编辑器对文件行末的回车符处理不一致 有两种方法可以将^M去掉 1.我们可以在VI编辑器里把^M进行删除: 将VI切换至命令行模式,输入(注意输入这个^M,这个不是shift+^再加上M,应该是ctrl+v加上ctrl+m) 在vi命令行模式执行上面的命令,可以将所有行末的^M去掉 2.可以使用dos2unix命令 dos2unix filename 文章来源: linux对^M换行符的处理

linux脚本运行错误:$&#039;ls\\r&#039;: command not found

匿名 (未验证) 提交于 2019-12-02 21:59:42
原因在于 windows 下的换行符是 \r\n,而 linux 下的换行符是 \n 解决方案: 首先运行如下命令安装 dos2unix: yum install dos2unix -y 接下来运行如下命令进行转换工作: dos2unix file.sh 完成转换后便可正常执行脚本。 文章来源: linux脚本运行错误:$'ls\\r': command not found