• 为了保证你在浏览本网站时有着更好的体验,建议使用类似Chrome、Firefox之类的浏览器~~
    • 如果你喜欢本站的内容何不Ctrl+D收藏一下呢,与大家一起分享各种编程知识~
    • 本网站研究机器学习、计算机视觉、模式识别~当然不局限于此,生命在于折腾,何不年轻时多折腾一下

Python读取文件的方法

Python admin 3年前 (2017-03-01) 1981次浏览 0个评论 扫描二维码

一般说来,每当你需要重复一个运算或者重复处理某件事的时候,循环就很方便。因为文件包含了许多字符和行,他们也是循环常见的典型使用案例之一,要把
文件内容一次加载至字符串,可以调用 read:

               file = open('test.txt','r')
               print(file.read())

但是,要分块加载文件,通常要么是编写一个 while 循环,在文件结尾时使用 break,要么写个 for 循环。要按照字符读取时,下面的两种代码编写方式都可以。

               file = open('test.txt')
               while True:
                   char = file.read(1)   #read by character
                   if not char:break
                   print(char)
        
               for char in open('test.txt').read():
                   print(char)

这里的 for 也会处理每个字符,但是会一次把文件加载至内存,要以 while 循环按行或按块读取时,可以使用类似于下面的代码:

               file = open('test.txt')
               while True:
                   line = file.readline()   #read by line
                   if not line:break
                   print(line,end='')                   

               file = open('test.txt','rb')
               while True:
                   line = file.read(10)   #read byte chunks:up to 10 bytes
                   if not chunk:break
                   print(chunk) 

通常是按照块读入二进制数据的。不过,逐行读取文本文件时,for 循环是最易于编写以及执行最快的选择。

               for line in open('test.txt').readlines():
                   print(line,end='')

               for line in open('test.txt'):          #Use iterators:best text input mode
                   print(line,end='')

文件 readlines 方法会一次把文件载入到行字符串的列表,这里最后的例子则按照文件迭代器来自动在每次循环迭代的时候读入一行。
这里的最后一个例子通常是文本文件的最佳选择,它除了简单,还对任意大小的文件爱你都有效、并且不会一次把整个文件都载入到内存中。


Deeplearn, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明Python 读取文件的方法
喜欢 (1)
admin
关于作者:
互联网行业码农一枚/业余铲屎官/数码影音爱好者/二次元

您必须 登录 才能发表评论!