python基础(四)
file = open('女神集合',mode="r",encoding="utf-8") content = file.read() file.close() print(content) # 只读操作
file = open('女神集合',mode="rb") content = file.read() file.close() print(content.decode('utf-8')) # 上面同样是只读操作但是读取的是字节码类型
file = open('女神集合',mode="r",encoding="utf-8") content = file.read(1) content2 = file.read() file.close() print(content) print(content2) # read(n)读取n个字符.需要注意的是.如果再次读取.那么会在当前位置继续去读⽽不 # 是从头读,如果使⽤的是rb模式.则读取出来的是n个字节
file = open('女神集合',mode="r",encoding="utf-8") content = file.readline() file.close() print(content.strip()) # readline()⼀次读取⼀⾏数据,注意: readline()结尾,注意每次读取出来的数据都会有⼀ # 个\n所以呢.需要我们使⽤strip()⽅法来去掉\n或者空格
file = open('女神集合',mode="w",encoding="utf-8") file.write("AAAA") file.flush() file.close() # 写的时候注意.如果没有⽂件.则会创建⽂件,如果⽂件存在.则将原件中原来的内容删除,再写入新内容
file = open('女神集合',mode="wb") file.write("AAAA".encode('utf-8')) file.flush() file.close() # wb模式下.可以不指定⽂件的编码.但是在写⽂件的时候必须将字符串转化成utf-8的 # bytes数据
file = open('女神集合',mode='r+',encoding='utf-8') content = file.read() file.write('aaa') file.flush() file.close() print(content) # 读写模式: r+模式下.必须是先读取.然后再写入
file = open('女神集合',mode='w+',encoding='utf-8') file.write('aaa') file.seek(0) content = file.read() file.flush() file.close() print(content) # 1.seek(n)光标移动到n位置,注意,移动的单位是byte.所以如果是UTF-8的中⽂部分要是3的倍数. # 通常我们使⽤seek都是移动到开头或者结尾. # 移动到开头: seek(0) # 移动到结尾: seek(0,2) seek的第⼆个参数表⽰的是从哪个位置进⾏偏移,默认是0,表 # ⽰开头, 1表⽰当前位置, 2表⽰结尾 # tell()使⽤tell()可以帮我们获取到当前光标在什么位置 # 深坑请注意:在r+模式下.如果读取了内容.不论读取内容多少.光标显⽰的是多少.再写入或者操作⽂件的时候都是在结尾进⾏的操作. # 修改⽂件以及另⼀种打开⽂件的⽅式 # ⽂件修改:只能将⽂件中的内容读取到内存中,将信息修改完毕,然后将源⽂件删除,将新⽂件的名字改成老⽂件的名字.
import os with open('吃的',mode='r',encoding='utf-8') as file1,\ open("吃的_副本",mode='w',encoding='utf-8') as file2: for line in file1: file2.write(line.replace('菜','肉')) os.remove('吃的') os.rename('吃的_副本','吃的')