文件的基本操作
#1. 打开文件,得到文件句柄并赋值给一个变量:
f = open('E:\\text.txt',mode='r',encoding='utf-8')
#1.绝对路径:同一个文件下的文件就是相对路径
#2. conten = f.read()
#3. print(conten)
#4. f.close() # 句柄的意思,或者是自动关闭,为了节省内存空间
二。读:
#1rb 一般用于非文字类的文件 照片,视频,
m = open('e:\\text.txt',mode='r',encoding='utf-8')
conten = m.read(7) #tn 模式 是按照字符串读取的
print(conten)
m.close()
#2。read读的五种方式:
#f.read() 全部读出来
f = open('e:\\text',mode='r',encoding='utf-8')
conten = f.read(3) #r模式:n是按照字符读取
print(conten)
f1 = open('e:\\text.txt',mode='rb') #按照字节读取的
cont = f1.read()
print(cont)
f1.close()
s = b'\xef\xbb\xbf\xe6\x88\x91\xe6\x97\xa5\xe4\xbd\xa0\xe5\x93\xa5\xe9\xbe\x9f\xe5\xad\x99'.decode('utf-8')
print(s)
#f3.readline() #按行读
#3f.readlines() 每一行作为一个元素,放在列表中
f4 = open('e:\\text.txt',encoding='utf-8')
line1 = f4.readlines()
print(line1)
f4.close()
#4 推荐方式 循环读取
f5 = open('e:\\text.txt',encoding='utf-8')
for i in f5:
print(i)
# #第五种W 如果没有文件,则创建文件写内容
#如果有文件则将原文件内容全部删除,在写
a1 = open('e:\\text.txt',mode='w',encoding='utf-8')
a1.write('Alex是sb')
a1.close()
a1 = open('e:\\text.txt',mode='w',encoding='utf-8')
a1.write('Alex依然是SB')
a1.close()
##文件更改追加a ab
# a2 = open('e:\\php',mode='a',encoding='utf-8')
# a2.write('Awusir紧跟其后')
# a2.close()
#w+ w+b
a3 = open('e:\\php',mode='w+',encoding='utf-8')
a3 = open('e:\\php',mode='w+',encoding='utf-8')
a3.write('我爱中国啊')
a3.seek(0)
print(a3.read)
a3.close()
##a+
a2 =open('e:\\text.txt',mode='a+',encoding='utf-8')
print(a2.read())
a2.write('我爱你中国aaaa')
a2.close() ###追加到 r+
b = open('e:\\text.txt',mode='a+',encoding='utf-8')
b.write('vvxxxvvv')
b.tell()
print(b.tell()) ####295 True
b.seek(2)
print(b.readable())
print(b.read())
b.close() #打印结果:####295 Tru
#按照字节调整
b1 = open('e:\\text.txt',mode='a+',encoding='utf-8')
b1.seek(3) #按照字节调整
print(b1.read())
b1.close()
b2 = open('e:\\text.txt',mode='a',encoding='utf-8')
b2.truncate(3) #截取前面的内容
b2.close()
#常用方法: read() readline() seek()
改动文件:
1,创建一个新文件.
2,读取原文件.
import os
with open('E:\\text.txt',mode='r',encoding='utf-8') as f1, \
open('E:\\text2.txt', mode='r', encoding='utf-8') as f2:
## 3,将原文件的内容通过你想要的方式进行更改,并写入新文件件
edu_conten =f1.read() edu2_conten = edu_conten.replace('alx','包子') f2.write(edu2_conten) ##4 将原文件删除. os.remove('log')
#5,将新文件重命名原文件名. # os.rename('log.bak','log')
import os
with open('e:\\text.txt',mode='r',encoding='utf-8') as f1,\
open('e:\\text2.txt',mode='w',encoding='utf-8') as f2:
#将源文件的内容通过你想要的方式进行更改,并写入心文件
for i in f1:
i = i.replace('alex','sb')
f2.write(i)
#4,将原文件删除.
os.remove('e:\\text.txt')
os.rename('e:\\text2.txt','e:\\text.txt')