Python从文件中读取字符串并进行解析-二进制文件

Python是一门简单易学的编程语言,也是目前相当流行的一门编程语言,它在各种场景都有着不错的表现咱们今天就来谈谈Python常见的几种字符串处理方式。

首先,使用的测试数据为ip.txt,文件内容为

Python从文件中读取字符串并进行解析

  • 第一种方法:先使用readline的方式:

filename = "D:/log/proxy.txt" //文件路径
with open(filename) as files: //通过with方法读取文件
text = files.readline() //读一行操作,并赋值给text
print(text) //输出读取的内容

得出结果为:

Python从文件中读取字符串并进行解析

这种方式就是只读取一行,每调用一次text=files.readline()的时候,都会将下一条数据赋值给text变量,所以获取5条数据就可以使用以下方式:

filename = "D:/log/proxy.txt"
with open(filename) as files:
for i in range(5):
text = files.readline()
print(text)

这样得出的结果就是

Python从文件中读取字符串并进行解析

这样就能够获取成功了。

  • 第二种方法是readlines方法

    这种方法可以一次性读取所有的行,是不是会感觉更方便一些。方法如下:

filename = "D:/log/proxy.txt"
with open(filename) as files:
text = files.readlines()
print(text)

这样的话得到的结果就是

Python从文件中读取字符串并进行解析

由此可见此方法将文件里的文本逐行分割成一个数组,方便进行操作,但是值得注意的是\n还会保留

  • 还可以使用read方法直接进行读取

    这种方法会直接把读取到的文件内容作为字符串,不会进行分割处理

代码示例如下:

filename = "D:/log/ip.txt"
with open(filename) as files:
text = files.read()
print(text)

输出的结果也是原样输出(注意这里为什么没有\n,因为\n为换行符,直接输出出来了)

Python从文件中读取字符串并进行解析

上面几种方法都是需要直接将文件内容读取到内存中在进行操作,所以并不适合超大文件的读取,不然会造成内存错误的情况,以下说一种资源消耗小,代码简单最为Pythinic的一种方式,适合较大文件的读取

filename = "D:/log/ip.txt"
with open(filename) as files:
for line in files:
print(line)

这种代码比较推荐,代码简洁而且更好用

这里希望大家能够熟练使用字符串处理。为之后大神的道路打下坚实的基础。

推荐阅读