python------文件操作

实例

import sys,time
# w 模式只写,不能读  r 模式只读不写,a 模式可追加到最后,不会覆盖之前的内容,也不可读。
# r+ 模式读写。     w+ 模式写读(此模式不太用)
'''
#data = open('yesterday',encoding='utf-8').read()
#print(data)
f = open('yesterday','a',encoding='utf-8')#f就是文件句柄
##--------文件读取俩边
data = f.read()
data2 = f.read()
print(data2)
#  上述方法不会读取俩遍,文件读完一遍就结束了,所以data2是i没有数据的。

##文件写入。如下写入会直接覆盖之前的内容
#f.write('我爱北京天安门')
'''
f = open('yesterday','r',encoding='utf-8')
#for i in range(5):
#    print(f.readline())

#实现第十行不显示,   如下方法会把文件直接存到内存中。太low
#f.readlines()会返回一个列表。.strip方法是去空格。
'''
for index.html, line in enumerate(f.readlines()) :
    if index.html ==9:
        print('-----------------我是分割线------------')
        continue
    print(line.strip())

#一行一行读取,并且内存只保存一行  此方法比较高,就应该这么写,是利用了迭代器。
count = 0
for line in f:
    if count ==9:
        print('------------------------我是分割线-------')
        count +=1
        continue
    print(line)

#打印当前位置   f.tell()   回到某个位置  f.seek()

print('光标当前位置',f.tell())
print(f.readline())
print('当前位置',f.tell())
f.seek(0)
print('现在光标又会回去了',f.tell())

'''
#进度条打印

for i in range(30):
    sys.stdout.write('#') #屏幕标准输出
    sys.stdout.flush() #实时刷新
    time.sleep(0.5)

#截断方法,f.truncate() 只能从头开始截取。

f1 = open('yesterday','r',encoding='utf-8')
f_new = open('yesterday.bak','w',encoding='utf-8')
for line in f:
    if '当我年轻时' in line:
        line = line.replace('当我年轻时','当我年老时')
    f_new.write(line)
f.close()
f_new.close()

猜你喜欢

转载自www.cnblogs.com/xiangrikuidebuluo/p/9554508.html