h3

php程序员学习python3学习第四天

1,文件的读取与写入 open()  f = open('a.txt','a',encoding = 'utf-8') 此时得到的是一个句柄,a为模式,模式分为a,(追加模式),w (写入模式,只可以写入一个新的文件,写入时不存在则创建,存在则清空),x(只写模式,不存在则创建,存在则报错)r(只读模式)  r+(读写模式) w+(写读模式) read(5),其中5表示5个字符

r+ 在读写模式下,先读再写写的时候自动追加到最后

w+ 在写读模式下先写再读,写中进行读,然后继续写的时候会追加到末尾  (此用处较少)

rb 二进制读模式  二进制模式用来传输文件  二进制模式不用声明字符   open("b.txt","rb")

wb 二进制写模式 写时只可以把二进制写进去

ab 二进制追加模式

U 表示在读取时,可以将\r\n自动换成\n   与r和r+模式共用  rU  r+U

# -*- coding:utf-8 -*-

f = open("a.txt","a",encoding="utf-8")
f.write("\n我是程序员")
f.close()

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

f = open("b.txt","w",encoding = "utf-8")
res = f.write(data+"\n")
f.close()
print(res)

2,读取文件,对指定行数进行操作  readline()  readlines()只适合读取较小的文件

# -*- coding: utf-8 -*-

f = open("b.txt","r",encoding = "utf-8")
'''
#高效的读取方法

count = 0

for line in f:
    if count == 9:
        count +=1
        print("----------分割线---------")
        continue
    print(line.strip())
    count += 1
'''
#低效的书写方法

for index,lines in enumerate(f.readlines()):
    if index == 9:
        print("--------分割线---------")
        continue
    print(lines.strip())

3, tell()  f.tell() 读到第几行 seek() 跳到指定行

# -*- coding: utf-8 -*-

f = open("b.txt","r",encoding="utf-8")
print(f.tell())
print(f.readline())
print(f.tell())
#将指针回到文件头部
f.seek(0)
print(f.readline()+"--------------sssss--------")

#回到指定位置
f.seek(5)
print(f.readline())
posted @ 2017-05-17 22:43  码上平天下  阅读(100)  评论(0)    收藏  举报