Python之檔案讀寫小練

一片小心肺發表於2020-10-04

#file1=open(‘C:\test\note1.txt’) #注意可能有轉義符的情況
#file1=open(‘C:\test\note1.txt’) #可以多加一個\讓特殊含義不生效
#file1=open(‘C:/test/note1.txt’) #可以用\替換成/,效果是一樣的
#file1=open(r’C:\test\note1.txt’) #前方加一個r,讓後方的轉義符都不生效
#file1=open(r’C:\test\note1.txt’,‘r’) #r為讀取模式,w為寫入模式(清空之前的內容),a追加寫入模式,如果不寫第二個引數,則預設值為讀取模式
#file1.write(‘鋤禾日當午,汗滴禾下土’)
#print(file1.read()) #讀取檔案內容,並列印出來
#file1.close()

#file1=open(r’C:\test\note1.txt’,‘a’)
#file1.write(‘床前明月光,疑是地上霜’)
#print(file1.read())
#file1.close()

#r,w,a要麼只能讀,要麼只能寫,不能同時進行讀取和寫入
#當需要同時進行讀取和寫入時,可以使用r+,w+,a+
#r+遇到不存在的路徑會報錯
#file1=open(r’C:\test\note1.txt’,‘w+’)
#file1.write(‘haha’)
#file1.seek(0) #游標回到檔案開頭的位置
#print(file1.read()) #如果上一行的seek(0)不寫,則讀取不到內容,因為寫入內容之後游標位於內容的後方

#seek(m,n)函式,m表示游標向右偏移幾位,m為0時表示位於檔案開頭;n預設為0,不需要寫,也可以寫1或者2在rb模式下才生效
#seek(6,0)這種表示向右偏移6位
#seek(2,1)表示從游標的當前位置,向右偏移2位
#seek(-1,2)表示從檔案末尾,向左偏移1位
#file1=open(r’C:\test\note1.txt’,‘rb’)
#file1.seek(-3,2)
#file1.seek(2,1)
#print(file1.read())
#file1.close()

#r+,w+,a+都支援同時讀取和寫入,但是有一定的區別
#r+ 當檔案不存在時,報錯,寫入時,覆蓋之前的內容
#w+ 當檔案不存在時,新建檔案,寫入時,清空之前的內容
#a+ 當檔案不存在時,新建檔案,寫入時,接著以前的內容往後寫
#file1=open(r’C:\test\note1.txt’,‘r+’)
#file1.write(‘sjjdjd’)
#file1.close()

#with open方法和open方法基本一致,不過不需要寫close方法,另外注意縮排
#with open(r’C:\test\note1.txt’,‘w+’) as file1:
3# file1.write(‘qwert’)
3# file1.seek(0)
3# print(file1.read())

#with open也可以同時開啟多個檔案
#with open(r’C:\test\note1.txt’) as file1,open(r’C:\test\note2.txt’)as file2:
3# print(file1.read())
3# print(file2.read())

with open(r’C:\test\note1.txt’) as file1:
3# print(file1.read()) #read開啟檔案的所有內容
3# print(file1.readline(3))#讀取一行內容,可以加一個引數n,表示讀取幾個字元
a=file1.readlines() #讀取整個檔案,返回值是一個列表,每個元素是一行
print(a)
for one in a:
print(one)

相關文章