1. 程式人生 > >py 5.8

py 5.8

ren 一行 write hid play pri name 其它 mac

一、文件的打開

技術分享圖片
# 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‘
View Code

二、模式、操作方法

技術分享圖片
#模式
#一、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()) #註意,不能打開同一名稱的文件,否側出錯,需要把之前的用代碼關閉。
View Code

三、文件的改

技術分享圖片
#六、文件的改
#五步: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‘)
View Code

py 5.8