python 文件基本操作

文件的基本读写(需要存在love文件)
#文件操作:打开-读/写....-关闭

f = open("love",'r',encoding='utf-8')#r表示只读模式,不能进行写,需要存在一个love的文件
e = open("love1",'w',encoding='utf-8')#w表示只写模式,不能进行读操作
g = open("love1",'a',encoding='utf-8')#a:append表示追加模式,不能进行读操作
data_f = f.read()
print(data_f)

data_e = e.write("小虎队的成员分别是:\n")#创建新文件,如文件存在,覆盖之前

data_g = g.write("syp,wql,czp")

f.close()
e.close()
g.close()

文件读写模式
f = open("love",'r+',encoding='utf-8')#r+模式表示可读可写模式

for i in range(5): #读前5行
    print(f.readline())
f.write("我爱北京、")#读取之后,可以在文件末尾追加,类似a模式

f.close()
另外还有其他的几种模式


文件对象操作
f = open("love",'r',encoding='utf-8')
print(f.readlines())#转成列表

for line in f.readlines():
    print(line.strip()) #循环打印

f.close

打印文件某一行打印其他内容-方法一

f = open("love",'r',encoding='utf-8')

#第9行打印分割线
for index,line in enumerate(f.readlines()):
    if index == 9:
        print("------分割线-------")
        continue
    print(line.strip())

f.close()

打印文件某一行打印其他内容-方法二

f = open("love",'r',encoding='utf-8')

count =0
for line in f:
    if count == 9:
        print("-----分割线------")
        count += 1
        continue
    print(line.strip())
    count += 1

f.close()

 立即刷新,将写的内容刷到内存中

f = open("love2","w",encoding="utf-8")

f.write("--------line1---------\n")
f.flush()#立即刷新,将书写的内容立即刷新到内存中;如果不进行刷新,python会将所有的操作完成后或到达一定大小后,一次性写入内存中
f.write("--------line2---------")

f.close

flush方法的应用-进度条

import sys,time

for i in range(20):
    sys.stdout.write("#")
    sys.stdout.flush()#每刷一次会将写的“#”显示到屏幕上
    time.sleep(0.1)

tell与seek方法

f = open("love2","a+",encoding="utf-8")

f.write("--------line1---------\n")
f.write("--------line2---------")

print(f.tell())#打印指针位置
f.seek(30)#将指针返回至某个位置
print(f.tell())#再次打印指针位置

f.close

truncate方法

f = open("love2","a+",encoding="utf-8")

f.write("--------line1---------\n")
f.write("--------line2---------")


print(f.tell())#打印指针位置
f.seek(30)#将指针返回至某个位置
print(f.tell())
f.truncate(20)#不随指针位置的移动,进行截断,从头开始

 

 

posted on 2020-09-13 22:08  阿翔study  阅读(157)  评论(0编辑  收藏  举报

导航