首页 > 其他 > 详细

Day19 - 文件操作

时间:2017-04-05 19:18:36      阅读:170      评论:0      收藏:0      [点我收藏+]

1 windows的默认打开方式是GBK, Linux的默认打开方式是UTF-8

f = open("test")
data = f.read()
print(data)

技术分享

2 正常读取时需要添加上encording且打开文件之后需要关闭

  正常情况下, 程序结束后会执行close(), 但是为了养成良好的习惯及时释放内存, 注意open()之后需要close()

f = open("test", encoding="utf-8")
data = f.read()
print(data)
f.close()

3 read()方法

  read()方法的单位是 字符 , 返回一个可迭代对象,迭代出来的内容是逐个字符

  read()里面可以放数字, 一个数字表示从头开始读几个字符

f = open("test", encoding="utf-8")
data = f.read(5)
print(data)
f.close()

4 读取的时候的光标的概念

  read()函数读一下光标向后移动一下

f = open("test", encoding="utf-8")
data = f.read(5)
data2 = f.read(5)
print(data)
print(data2)
f.close()

5 readline()读取一行

f = open("test", encoding="utf-8")
data = f.readline()
print(data)
f.close()

6 readlines()读取多行

f = open("test", encoding="utf-8")
data = f.readlines()
for i in data:
    # print(i)
    # print(i.strip())
    print(i, end="")
f.close()

  readlines()与read()都可以返回一个可以迭代的对象, 但是readlines的单位是行, read()的单位数字符

7 判断是否可读

f = open("test", encoding="utf-8")
print(f.readable())
f.close()

8 readlines()的优化

  readlines()的缺点是需要不少内容, 在想使用文件的迭代类型的时候可以直接用文件对象进行遍历

f = open("test", encoding="utf-8")
count = 0

# for line in f.readlines():
# 这样操作比较费内存

# for line in f.read():
# 这个返回的对象是一个字符一个字符的

for line in f:
# 注意此处的f是一个迭代器 这么操作更加的省内存
    if count == 3 :
        line = "".join([line.strip(), "===> 岳飞"])
    print(line, end="")
    count += 1
f.close()

  

  

 

Day19 - 文件操作

原文:http://www.cnblogs.com/weihuchao/p/6669993.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!