python文件操作

流程

1.打开文件 open()

2.操作文件 read write

3.关闭文件 close()

 

在window系统上 默认的编码是gbk

用open()打开时,window系统会使用默认的gbk编码,所以如果打开的文件是别的编码保存,则需要手动指定编码,例如打开utf-8保存的文件时

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

而在linux系统上 默认的编码是utf-8

 

操作方法

f.read() #读整个文件的内容

f.read(5) #读文件前5个字符的内容

如果再来一次 f.read(5),则读接下来的5个字符,read的内容取决于光标的位置

r.readline() #读一行

 

for i in f

print(i.strip()) #一行一行打印,并移除空白

 

写入模式

f = open("d://test1.txt", mode="w", encoding="utf-8")

#当文件不存在时,会自动创建

#这个模式只能写,不能读

wzc.write("hello\nworld") #只能覆盖的写

wzc.writelines(['111111\n','222222\n']) #可以多行一起写

追加模式

f = open("d://test1.txt", mode="a", encoding="utf-8")

#也是只能写,但是是追加的写

光标移动

seek()的三种模式:

    (1)f.seek(p,0)  移动当文件第p个字节处,绝对位置

    (2)f.seek(p,1)  移动到相对于当前位置之后的p个字节

    (3)f.seek(p,2)  移动到相对文章尾之后的p个字节

seek是按字节移动

 

可读可写,有三种

f = open("d://test1.txt", mode="r+", encoding="utf-8")

#这个方法可读内容,写则是追加的写

f = open("d://test1.txt", mode="w+", encoding="utf-8")

#写的时候会把原来的内容覆盖,想读取内容,需要seek调整光标位置

f = open("d://test1.txt", mode="a+", encoding="utf-8")

#这个方法初始光标在最后,要读,则需要将光标调到初始位置,seek(0),要写不管光标位置在哪,都是追加的写入

with open("d://test1.txt", encoding="utf-8") as f

#这个方法可以避免忘记写close()

一种新的方法

import sys

sys.stdout.write(s)

sys.stdout.flush()

 

posted on 2018-08-20 12:54  Messiless  阅读(141)  评论(0编辑  收藏  举报