檔案操作
一 , 檔案的內部內容進行操作
1.open('檔案路徑',mode='模式(預設是唯讀)',encoding='編碼')
路徑必須寫上字尾(.txt等)
f = open('d:/小**.txt',mode='r',encoding='utf-8')
content = f.readlines()
line1 = f.readline().strip() # 空白, 空格,\t, \n
print(line1)
讀r 只能讀 不能寫
1.open('檔案路徑',mode='模式(預設是唯讀)',encoding='編碼')
路徑必須寫上字尾(.txt等)
f = open('d:/小**.txt',mode='r',encoding='utf-8')
content = f.readlines()
line1 = f.readline().strip() # 空白, 空格,\t, \n
print(line1)
f.close
f 是乙個可迭代物件
f = open('d:/周潤發大戰奧特曼.txt',mode='r',encoding='utf-8' )
for line in f : # 內部其實呼叫的是readline()
print(line)
f.close() # 一定記得寫上
寫w 只能寫 不能讀
f = open('d:/sylar.txt',mode='w',encoding='utf-8')
f.write('周筆暢\n')
f.write('胡辣湯\n')
f.write('實付款\n')
f.flush()
f.close()
f.write() # 先清空 再寫入
追加a 追加寫 只能寫入
f = open('d:/sylar.txt',mode='a',encoding='utf-8')
f.write('娃哈哈') # 追加寫
f.write('爽歪歪')
f.flush()
f.close()
b : bytes 這個時候處理檔案的是位元組
操作非文字檔案的時候用帶b的 在rb模式下,不能選擇encoding字符集
rbwb
ab檔案拷貝
f1 = open('d:/桌面背景.jpg',mode='rb')
檔案的路徑
1. 絕對路徑
1.從磁碟根目錄尋找
2.網路上路徑
2.相對路徑# 更推薦用相對路徑 因為把程式拷給別人用的時候.直接把專案考走就能執行,如果用絕對路徑.還需要拷外部檔案.
相對於當前你這個程式所在的資料夾.(用的最多的)
絕對路徑相對於相對路徑來說
r+ # 帶加號的使用頻率最高的 讀寫模式
讀寫模式
如果執行了讀操作 那麼寫操作的時候都是寫在檔案的末尾和游標沒關係
正確用法 先讀 後寫
w+很少用 需要移動游標
a+ 追加讀模式
f = open('選單',mode='a+',encoding='utf-8')
f.write('韭菜雞蛋餃子')
f.seek(0)
content = f.read()
print(content)
游標 使用 tell 可以知道 游標在** 單位
seek()可以移動游標
r: 預設游標在開頭
讀寫的時候單位是字元 但是游標移動的單位是位元組
游標移動到末尾 seek(0,2)
seek(偏移量,位置)
位置 : 0開頭 , 1當前位置 , 2末尾
truncate() 截斷檔案
f = open('我的天哪', mode='r+', encoding='utf-8')
f seek(9)
f.truncate(12) # 如果沒有引數. 按照游標來截斷. 如果有引數. 截斷到引數位置
f.flush()
f.close()
注意 : 在r+模式下.如果讀取了內容 . 不論讀取內容多少 , 游標顯示的是多少.再寫入或者操作檔案的時候都是在結尾進行的操作
所以如果想要截斷操作.要先挪動游標 挪動到想要截斷的位置,然後進行截斷,關於truncate(n),如果給了n則從頭開頭開始截斷, 如果不給n,則從當前位置截斷,後面的內容會被刪除.
二 , 修改檔案 過程 將檔案中的內容讀取到記憶體中將資訊修改完畢,然後將原始檔刪除,將新檔案的名字改為老檔案的名字.
語句為import os
with open('alex',mode='r',encoding='utf-8') as f1, \
open('alex_副本',mode='w', encoding='utf-8') as f2: # 這種寫法可以省去 f1.flush() f1.close() 語句
for line in f1:
new line = line.replace('good','sb')
f2.write(new line)
os.remove('alex')
os.rename('alex_副本','alex')
posted @
2018-09-24 16:25
你沒有想象的那麼重要 閱讀(
...)
編輯收藏
檔案操作 08
檔案操作的初識 f1 open e 乙個神秘的 txt encoding utf 8 mode r content f1.read print content f1.close 檔案操作的讀 r,rb r r b 四種模式 r read read n readline readlienes for ...
08 檔案操作
位元組流 inputstream和outputstream 過濾流 bufferedinputstream和bufferedoutputstream 過濾流用於給流增加乙個緩衝的功能,緩衝區越大,效率越高,典型的犧牲空間換時間 08.01.txt public class testtxt 寫入文字 ...
C語言之檔案操作08 總結
c程式的檔案操作 共涵蓋7個例題,包含格式列印,檔案讀取,條件查詢,矩陣的檔案操作,資料格式輸入及呼叫計算等內容。檔案操作使得程式有更強的拓展性,使其可以單獨儲存資料,這為程式的除錯和優化打下了堅實的基礎,為我們實現大規模計算提供了可能。至此,相信大家對檔案操作也有了比較好的認識,無非是寫入 讀取 ...