码迷,mamicode.com
首页 > 其他好文 > 详细

Day19 - 文件操作

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

标签:bsp   内容   encoding   end   for   test   window   pytho   迭代   

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 - 文件操作

标签:bsp   内容   encoding   end   for   test   window   pytho   迭代   

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

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!