Python使用open()打開檔案
語法為
f = open('檔案', '模式')
模式有
r - 讀取(檔案需存在)
w - 新建檔案寫入(檔案可不存在,若存在則清空)
a - 資料附加到舊檔案後面(游標指在EOF)
r+ - 讀取舊資料並寫入(檔案需存在且游標指在開頭)
w+ - 清空檔案內容,新寫入的東西可在讀出(檔案可不存在,會自行新增)
a+ - 資料附加到舊檔案後面(游標指在EOF),可讀取資料
b - 二進位模式
f.read(size) - 回傳檔案內容
size為要讀取進來的字串長度,若不填則讀取整份文件
例如
iT邦幫忙鐵人賽是專為IT人舉辦的年度盛事,每年都有數百位IT人一起參與挑戰,大家一起分享技術、經驗與熱情。
隨著iT邦幫忙鐵人在今年邁入第7年,已經有將近千位IT鐵人達成了連續30天發文不中斷的自我挑戰,為IT職涯寫下難忘的記錄。
iT邦幫忙鐵人賽是IT人自我成長的絕佳機會。參加過鐵人賽的IT人都說:藉由連續30天、每天發表一篇文章來強迫自己,把過去一年學到的知識與經驗給整理出來,跟大家分享交流,收獲最多的絕對是自己。
而且,還有最3萬元的高額獎金及數不完的獎品等著你。
#file.py
f = open('news.txt','r')
print(f.read())
f.readline() - 讀取一行,最後面會加上一個 \n
f.readlines() - 傳回一list ,每一行文字最後面會加上一個 \n 為一個list的資料項
語法為
f.write(string) - 寫入檔案,並回傳寫入的string長度
例如
iT邦幫忙鐵人賽是專為IT人舉辦的年度盛事,每年都有數百位IT人一起參與挑戰,大家一起分享技術、經驗與熱情。
隨著iT邦幫忙鐵人在今年邁入第7年,已經有將近千位IT鐵人達成了連續30天發文不中斷的自我挑戰,為IT職涯寫下難忘的記錄。
iT邦幫忙鐵人賽是IT人自我成長的絕佳機會。參加過鐵人賽的IT人都說:藉由連續30天、每天發表一篇文章來強迫自己,把過去一年學到的知識與經驗給整理出來,跟大家分享交流,收獲最多的絕對是自己。
而且,還有最3萬元的高額獎金及數不完的獎品等著你。
f = open('news.txt','a')
f.write('今年iT邦幫忙鐵人賽不僅延續傳統鋼鐵般的精神,更把組別一口氣增加到7組:【MIS 技術】、【開發技術】、【其他技術】、【IT 人生】、【Cloud、Big Data】、【App 開發】及【學生組】等7組\n')
檔案讀寫時,游標的位置可以用seek()控制
語法為
f.seek(位移的bit數)
預設從文件的開頭開始計算
可在指定從哪邊開始
f.seek(位移的bit數,0) - 從文件開頭開始
f.seek(位移的bit數,1) - 從目前游標位置開始
f.seek(位移的bit數,2) - 從目前文件結尾開始
當在unicode中操作會遇到錯誤,但可以使用二進制模式去控制游標位置
例如
taipei city
f = open('news.txt','rb+')
f.seek(2)
f.write(b'A')
#taApei city
f.seek(2,1)
f.write(b'B')
#taApeB city
f.seek(-2,2)
f.write(b'C')
#taApeB ciCy
謝謝大大 提供這寶貴的經驗
想請教大大 在linux 下 我想要在文字檔內,將特數字串開頭作為依據
在字串尾端加入幾個字,應該如何編寫code呢?
謝謝