文件编辑

内容目录                       

打开文件      

读取文件      

操作文件      

关闭文件      

 

打开文件      

open('路径','打开方式','指定编码方式')

#绝对路径打开
#例如打开存在F盘里面的一个文件——‘file.txt’ --> 123
f = open('f:\\file.txt',mode='r',encoding='utf-8')
content = f.read()
print(content) #123
f.close()

#打开存在F盘里面的一个文件——'你大爷.txt' --> 123
f = open('f:\你大爷.txt',encoding='utf-8')
content = f.read()
print(content)  #123
f.close()

#相对路径打开 ---> 在同一级目录里
#例如打开同一级目录里的  --->  ‘file.py’文档 --> #123
f = open('file.py',mode='r',encoding='utf-8')
content = f.read()
print(content) #123
f.close()

 

#只读 r --> rb(对非文字类型文件打印,文字类的传输和下载)
#读写r+ --> r+b(对非文字类型文件打印,文字类的传输和下载)
#先读再写与先写再读实现的效果不一样
#log = 123 --> 123
f = open('log',mode='r',encoding='utf-8')
content = f.read()
print(content) 
f.close()

#log = 123 --> b'123'(byte)
f = open('log',mode='rb')        #对非文字类型文件的传输和下载
content = f.read()
print(content)
f.close()

#log = 123 --> 123
#读写:先读再写,先打印出文本原来的字符串
#再把写的字符串添加到文本里去,后面写的文档不显示
f = open('log',mode='r+',encoding='utf-8')
print(f.read())    
f.write('aaa')
f.close()


#写读:先写再读,先将字符串打印再文本起始(只写,直接删除文本),从其实位置覆盖文本,足够长,可完全覆盖
#再把剩余文本打印出来(若被完全覆盖,则打印零)
# log = 123 --> aaa(完全覆盖)
f = open('log',mode='r+',encoding='utf-8')
f.write('aaa')         
print(f.read())        
f.close()

 

#只写w --> wb(对非文字类型文件打印,文字类的传输和下载)
#w+(写读)
f = open('log',mode='w',encoding='utf-8')
f.write('骑兵')      #先将原文件的内容全部删除,再将内容写进去
f.close()

#wb(对非文字类型文件打印,文字类的传输和下载)
f = open('log',mode='wb')
f.write('骑车'.encode('utf-8'))
f.close()

f = open('log',mode='w+',encoding='utf-8')
f.write('555')
f.seek(0)                       #移动光标
print(f.read())
f.close()

 

#追加 ab(对非文字类型文件打印,文字类的传输和下载)
#a+(追加其他功能)
#log = 骑车 --> 骑车中国
f = open('log',mode='a',encoding='utf-8')    #光标默认移动到文字最右边
f.write('中国')
f.close()

#file = 骑车中国 --> 骑车中国大地
f = open('log',mode='ab')             #光标默认移动到文字最右边
f.write('大地'.encode('utf-8'))
f.close()

#file = 骑车中国大地 --> 骑车中国大地大地
f = open('log',mode='a+',encoding='utf-8')
f.write('大地')
f.seek(0)
print(f.read())
f.close()

 

import hashlib
with open(r'C:\Users\HP\Desktop\面朝大海,春暖花开.txt','r',encoding='utf-8') as f,\
    open('file','r+',encoding='utf-8') as f1:
        for line in f:
            lines = hashlib.md5(bytes('加盐',encoding='utf-8'))
            lines.update(bytes(line,'utf-8'))
            lined = lines.hexdigest()
            f1.write(lined+'\n')
同时打开两个文件

 

 

读取文件      

 read 一次性读
readlines 一次性读
readline 一行一行读
不知道在哪儿结束
视频 图片 rb bytes 按照字节读
for循环

 

操作文件      

#seek()、tell()、read()
f= open('log',mode= 'r+',encoding='utf-8')
print(f.read(3)) #读取前三个字符
f.seek(0) #移动光标
print(f.tell()) #告诉系统光标在哪
f.close()

 

关闭文件      

f = open('log')
f.close() #需要关闭来节省内存

with open('log',mode='r',encoding='utf-8') as fno: #不需要关闭
    print(fno.read())

 

posted @ 2019-09-01 14:53  supreme_me  阅读(243)  评论(0)    收藏  举报