檔案的基本操作和各種基礎型別的轉換
s2_day2
一、檔案操作
r 讀
w 寫
a 追加
函式:
f =open('字串',mode = '對檔案的操作模式',encoding = '編碼方式') #f就是檔案控制代碼
with open('字串',mode = '對檔案的操作模式',encoding = '編碼方式')as f #預設自動關閉
1.r模式 只讀模式
#r模式只能讀,
f.read(指定位置) #可以指定讀取內容的數量。讀正常文字文字,會將讀取的內容放在記憶體中
for i in f:
print(i)
f.readliine() #一行一行的讀取,預設每一行末尾會跟著'\n',解決辦法是在後面加.strip()
rb在使用b的操作方式的時候不能指定編碼方式,是操作位元組的
s = f.read(指定位置) #讀取的是位元組,可以指定輸出的位元組的個數
2.w模式 只寫模式
w模式只能覆蓋寫會自動建立檔案,寫入的時候先清空後寫入
f.white('寫入內容') #寫入
3. a模式 追加模式
#a模式是追加寫,不能讀,在文字末尾新增內容
f.white('追加寫的內容')
4.r+模式,是讀寫模式
必須先讀後寫 r模式預設游標在最前面,故不能先寫後讀
s = f.read() print(s) f.write()
5.w+ 寫讀模式
f.write('寫入內容')
f.flush() #重新整理
f.seek(游標往前調的位元組數,游標調到當前位置) #裡面寫0是調整游標到最開頭
s = f.read()
6.a+模式 追加(寫) 讀模式
#不管把游標怎麼調追加的內容都在最後面
7.只要模式名後面帶b就是操作位元組
8.其他操作:
f.seek() #移動游標位置
f.tell() #返回游標的位置(位元組數)
f.close() #關閉檔案 檔案關閉之後無法進行 寫入,要重新開啟才能進行操作
f.truncate() #截斷,將游標後面的內容刪除
相對路徑: 相對於正在操作的檔案所在的位置
轉義: \ 改成 // #有時需要轉義在前面加r 或者使用雙斜槓
'.../day6/01 今日內容' 相對路徑是相對於當前檔案來說的路徑
推薦使用相對路徑
絕對路徑: 從磁碟開始尋找這個檔案的路徑
eg: C:\Users\Administrator\Desktop\t.txt
二、資料型別轉換
str() #可以轉換任何資料型別
int() #可以轉換str中單個數字
bool() #其中有0,False,{},[],'',()表示False,別的都是True
list() #除了數字和bool值之外都可以轉換 ,轉換字典是隻能轉換其中的鍵,即可迭代的資料型別
tuple() #除了數字和bool值之外都可以轉換 ,轉換字典是隻能轉換其中的鍵,即可迭代的資料型別
dict() #什麼型別都不能轉換
set() #除了數字和bool值之外都可以轉換 ,轉換字典是隻能轉換其中的鍵,即可迭代的資料型別
#資料型別轉換 str() #可以轉換任何資料型別 int() #可以轉換str中單個數字 bool() #其中有0,False,{},[],'',()表示False,別的都是True list() #除了數字和bool值之外都可以轉換 ,轉換字典是隻能轉換其中的鍵,即可迭代的資料型別 tuple() #除了數字和bool值之外都可以轉換 ,轉換字典是隻能轉換其中的鍵,即可迭代的資料型別 dict() #什麼型別都不能轉換 print(set({'alex':1,'2':3})) #除了數字和bool值之外都可以轉換 ,轉換字典是隻能轉換其中的鍵,即可迭代的資料型別
課堂隨筆:
#w模式 ''' f = open('1',mode = 'a+',encoding= 'utf-8') #w+必須是先寫在讀 f.seek(18) f.write('我真帥') f = open('1',mode = 'w',encoding= 'utf-8') f.write('我好帥真滴帥我最帥') f.close() f = open('1',mode = 'w',encoding= 'utf-8') #w模式自動會覆蓋前面的內容 f.write('我真帥') f.close() ''' #r模式 ''' f = open('2',mode = 'r+',encoding = 'utf-8') #r+模式必須是先讀後寫 print(f.read()) print(f.write('我好美,你喜歡不')) print(f.read()) = open('2', mode='r', encoding='utf-8') s = f.read() for i in f: s1 = f.readline() print(i) ''' #對文字內容進行修改,實質是將需要的內容寫在另一個文字中,然後將原文字刪了,將含有需要的內容的文字改名為原文字的名字,即完成修改. ''' with open('1',mode = 'w',encoding = 'utf-8') as f,\ open('2',mode = 'r',encoding = 'utf-8' ) as ff: for i in ff: s = i.replace('醜','帥') print(s) f.write(s) import os os.remove('2') os.rename('1','2') '''