python实现readline去掉换行符\n等特殊字符

刚刚用python的readline(s)读取文件的发现进行后续处理的时候总是会出现格式上等的一些小错误,后来想起来是因为文件换行符等一些符号(\n\r\t)也会被readline(s)读取到,以下是我用到的小方法

举个栗子吧,以下是我的文件内容:

In [1]: cat /tmp/ip.txt
111.231.0.0/16
122.152.0.0/16
140.143.0.0/16
59.110.0.0/16
106.75.0.0/16

将文件读到变量 f 中,然后执行redline发现其实里面还包括了换行符 ‘\n‘:

In [2]: f = open("/tmp/ip.txt",‘r‘)
In [3]: f.readline()
Out[3]: ‘111.231.0.0/16\n‘

我们可以通过split方法将需要的内容切割出来得到下面的结果,但是还不是我们真正想要的,此时的结果为一个列表:

In [4]: f.readline().split("\n")
Out[4]: [‘122.152.0.0/16‘, ‘‘]

最后我们可以通过索引的方式将前面的内容取出,达到目的,最后将这个内容送到其他的流程进行处理即可。

In [5]: f.readline().split("\n")[0]
Out[5]: ‘140.143.0.0/16‘

可能有的同学会问,那\r\t\n都存在的情况呢?
那我们就直接让他们消失

原文地址:http://blog.51cto.com/9499607/2089667

时间: 2024-11-10 18:15:22

python实现readline去掉换行符\n等特殊字符的相关文章

python实现readline去掉换行符\n

刚刚用python的readline(s)读取文件的发现进行后续处理的时候总是会出现格式上等的一些小错误,后来想起来是因为文件换行符等一些符号(\n\r\t)也会被readline(s)读取到,以下是我用到的小方法 举个栗子吧,以下是我的文件内容: In [1]: cat /tmp/ip.txt 111.231.0.0/16 122.152.0.0/16 140.143.0.0/16 59.110.0.0/16 106.75.0.0/16 将文件读到变量 f 中,然后执行redline发现其实里

python 按每行读取文件怎么去掉换行符

python按每行读取文件后,会在每行末尾带上换行符,这样非常不方便后续业务处理逻辑,需要去掉每行的换行符,怎么去掉呢?看下面的案例: >>> a = "hello world\n" >>> print a #可以看到hello world下面空了一格 hello world >>> a.split() #通过split方法将字符转换成列表 ['hello', 'world'] #从列表中取第一个字符 >>> a.

shell替换和去掉换行符

用shell处理文件的时候我们常常需要去掉或者加上换行符,name问题就来了怎么才能快速的替换呢? 我们有这样一个文件 [[email protected] working]# cat 1 GD200A16C013493,GD200A16C013494,GD200A16C013495,GD200A16C013497 我们需要把逗号去掉,换成换行符可以这样做 [[email protected] working]# cat 1|sed 's/,/\n/g' GD200A16C013493 GD20

python tips:文件读取——换行符的问题

问题:在windows系统中,换行的符号是'\r\n'.python在读文件的时候为了系统兼容,会默认把'\r','n','\r\n'都视作换行.但是在windows文件中,可能在同一行中同时存在'\n','\r\n','\r'.这个时候python的默认行为会将一行拆分成多行输出,影响预期结果. 此时需要设置open函数的newline参数,修改python对换行的默认行为. open(file, mode='r', buffering=-1, encoding=None, errors=No

fgets()函数读取键盘,去掉换行符或丢弃多余的字符

在上一遍随笔中,我们知道可以用fgets()函数来代替不安全的gets()函数.fgets函数中的第二个参数限制了读取的个数. 上篇文章也提到,fgets是会读取回车换行符的.有时候我们并不希望在字符串中存在换行符.有的时候我们在一行中多输入了几个字符,而这几个字符并不是我们想要的.这时可以写一个小程序解决这个问题 下面看程序(来自于C Primer Plus 第六版):该程序的功能是:读取输入行,删除存在字符串中的换行符,如果没有换行符,则丢弃数组装不下的字符. #include <stdio

WinForm------TextEdit控件去掉换行符

//将换行转为空格 string str = this.DetailEdit.Text.Replace("\r\n"," ");

python读取以非换行符分隔的超大文件,并逐行输出

def myreadline(f, newline): buf = "" while True: while True: pos = buf.index(newline) yield buf[:pos] buf = buf[pos + len(newline)] chunk = f.read(4096) if not chunk: # 已读到结尾 yield buf break buf += chunk with open("input.txt") as f: fo

Python中readline()函数 去除换行符

从Python中readline()函数读取的一行内容中含有换行符\n,很多时候我们需要处理不含有换行符的字符串,此时就要去掉换行符\n. 方法是使用strip()函数. 例子如下: f = open("./DownloadList.txt") line = f.readline() while line: line = line.strip('\n') line = f.readline() f.close() 原文地址:https://www.cnblogs.com/lehoho/

python读取文件,如何去掉每一行末尾的换行符"\n"

参考文档:http://blog.csdn.net/jfkidear/article/details/7532293 #!/usr/bin/python # coding:utf-8 # 文件操作 with open('~/refer.txt', 'r') as f: print('文件正常打开,正在开始操作文件') for line in f.readlines(): # python按行读取文件,如何去掉换行符"\n" print line.strip('\n')