标签:new 重命名 display bytes 打开 alt inux gbk encoding
一、文件的打开
# f1 = open( r‘d:\new 2.txt‘ , encoding = ‘utf-8‘,mode = ‘r‘) # print(f1.read()) # f1.close() # f1 = open(‘liu.txt‘,encoding = ‘utf - 8‘, mode = ‘r‘) # print(f1.read()) # f1.close() #一、打开文件: f1 = open(‘路径‘,encoding=‘编码方式‘,mode = ‘模式‘) # 流程:1.打开文件,赋值给一个变量(文件句柄) 2.对该句柄进行各种操作 3.关闭 # open不是py中的关键字,是windows系统的一种打开文件的方式。 # 绝对路径:从根目录一直找到最后想要的文件路径 # f1 = open( r‘d:\new 2.txt‘,encoding = ‘utf-8‘,mode = ‘r‘) # print(f1.read()) # f1.close() #相对路径:从当前目录找到文件 # f1 = open(‘a‘,encoding=‘utf-8‘,mode = ‘r‘) # print(f1.read()) # f1.close() #编码方式:windows默认编码方式为‘gbk‘,linux/macos默认编码方式为‘utf-8‘
二、模式、操作方法
#模式 #一、r 只读,默认打开方式,可省略,其它都不可省略 #rb: 用bytes类型打开文件,编码方式不用写,非文本文件,图片、视频等 #打开图片:先rb然后再wb写入再查看 #r的五种读取方法:1.read 全读 # 2. read(n) r:按照字符个数读 rb:按照字节个数读 # 3.readline 按’行‘ 读取 # 4.readlines 以列表形式显示,每个元素是’每一行‘ # 5.for i in f1: 按行显示,但是没显示一行,上一行自动清除,不占内存 # f1 = open(‘liu.txt‘ , encoding=‘utf-8‘ , mode = ‘r‘) # print(f1.readline()) # print(f1.readline()) # print(f1.readline()) # f1.close() # print(f1.read(3)) # f1.close() # for i in f1: # print(i) #r+: 读写。先读后写 #r+b: bytes类型的先读后写 #二、w 只写。当文件存在时,先清除原内容,然后写。当文件不存在时,创建文件,再写。 # wb bytes类型的写入 # w+ 写读,先写后读。 写完之后,光标移到了最后,所以读不到,用f1.seek(0) 按字节来调整光标。 # w+b bytes类型的先写后读。 #三、a 追加。当文件存在时,在后面直接追加写。当文件不存在时,创建文件然后再写。 # ab 追加bytes. 可以直接转化:字母、数字、特殊字符。 其它都不可以。 # a+ 追加可读 #四、操作方法 #1.read #2.readable/writeable 返回值为F/T #3.seek(按字节调整光标位置) #4.tell(告诉显示光标的位置,字节) #五、打开文件的另一方法:1.可以打开多个文件 2.不用关闭文件 # with open (‘liu.txt‘ , encoding=‘utf-8‘,mode = ‘r‘) as f1: # print(f1.read()) # with open (‘liu.txt‘ , encoding=‘utf-8‘,mode = ‘r‘) as f1,\ # open (‘a‘ , encoding=‘utf-8‘,mode = ‘r‘) as f2: # print(f1.read()) # print(f2.read()) #注意,不能打开同一名称的文件,否侧出错,需要把之前的用代码关闭。
三、文件的改
#六、文件的改 #五步:1.打开原文件 old_file,将原文件的内容读取到内存中。尽量用for读取,以免文件太大。 # 2.创建新文件new_file。用w,for循环中不清除原文件的内容。 # 3.将原文件内容按你所想的改好,然后写入新文件。 # 4.清除原文件。 os.remove() # 5.将新文件重命名成原文件。 os.rename(‘新文件’,‘原文件’) # 方法一: # import os # with open(‘liu.txt‘ , encoding=‘utf-8‘,mode=‘r‘) as f1,\ # open (‘change_new.txt‘,encoding=‘utf-8‘,mode = ‘w‘) as f2: # old_content = f1.read() # new_content = old_content.replace(‘啦‘,‘哇哇哇‘) # f2.write(new_content) # os.remove(‘liu.txt‘) # os.rename(‘change_new.txt‘,‘liu.txt‘) #方法二: # import os # with open(‘liu.txt‘ , encoding=‘utf-8‘,mode=‘r‘) as f1,\ # open (‘change_new.txt‘,encoding=‘utf-8‘,mode = ‘w‘) as f2: # for i in f1: # new = i.replace(‘哇‘,‘呀‘) #字符串的修改一定要赋给一个新的值。 # f2.write(new) # os.remove(‘liu.txt‘) # os.rename(‘change_new.txt‘,‘liu.txt‘)
标签:new 重命名 display bytes 打开 alt inux gbk encoding
原文地址:https://www.cnblogs.com/liujjpeipei/p/9010854.html