開啟檔案,得到檔案控制代碼並賦值給乙個變數
通過控制代碼對檔案進行操作
關閉檔案
f = open('chenli.txt') #開啟檔案
first_line = f.readline()
print('first line:',first_line) #讀一行
print('我是分隔線'.center(50,'-'))
data = f.read()# 讀取剩下的所有內容,檔案大時不要用
print(data) #列印讀取內容
f.close() #關閉檔案
#不指定開啟編碼,預設使用作業系統的編碼,windows為gbk,linux為utf-8,與直譯器編碼無關 f=open('chenli.txt',encoding='gbk') #在windows中預設使用的也是gbk編碼,此時不指定編碼也行 f.read()
「+」 表示可以同時讀寫某個檔案
「b」表示以位元組的方式操作
注:以b方式開啟時,讀取到的內容是位元組型別,寫入時也需要提供位元組型別,不能指定編碼
2.4 檔案內建函式flush
flush原理:
1.檔案操作是通過軟體將檔案從硬碟讀到記憶體
2.寫入檔案的操作也都是存入記憶體緩衝區buffer(記憶體速度快於硬碟,如果寫入檔案的資料都從記憶體刷到硬碟,記憶體與硬碟的速度延遲會被無限放大,效率變低,所以要刷到硬碟的資料我們統一往記憶體的一小塊空間即buffer中放,一段時間後作業系統會將buffer中資料一次性刷到硬碟)
3.flush即,強制將寫入的資料刷到硬碟
滾動條:
import sys,time
for i in range(10):
sys.stdout.write('#')
sys.stdout.flush()
time.sleep(0.2)
character
meaning
『r』open for reading (default)
『w』open for writing, truncating the file first
『a』『b』
binary mode
『t』text mode (default)
『+』open a disk file for updating (reading and writing)
『u』universal newline mode (for backwards compatibility; should not be used in new code)
r、w、a為開啟檔案的基本模式,對應著唯讀、只寫、追加模式;
b、t、+、u這四個字元,與以上的檔案開啟模式組合使用,二進位制模式,文字模式,讀寫模式、通用換行符,根據實際情況組合使用、
常見的mode取值組合
```r或rt 預設模式,文字模式讀
rb 二進位制檔案
w或wt 文字模式寫,開啟前檔案儲存被清空
wb 二進位制寫,檔案儲存同樣被清空
a 追加模式,只能寫在檔案末尾
a+ 可讀寫模式,寫只能寫在檔案末尾
w+ 可讀寫,與a+的區別是要清空檔案內容
r+ 可讀寫,與a+的區別是可以寫到檔案任何位置
```
- 2.7 上下文管理
with
open('a.txt','w') as f:
pass
with
open('a.txt','r') as read_f,open('b.txt','w') as write_f:
data=read_f.read()
write_f.write(data)
import os
with
open('a.txt','r',encoding='utf-8') as read_f,\
open('.a.txt.swap','w',encoding='utf-8') as write_f:
forline
in read_f:
ifline.startswith('hello'):
line='哈哈哈\n'
write_f.write(line)
os.remove('a.txt')
os.rename('.a.txt.swap','a.txt')
Python學習之旅
二 世界,你好!三 編輯器 四 輸入和輸出 五 資料型別 變數和常量 從今天起,開始python的學習。本篇文章不定時更新。由於一些原因,本文章不再更新。不過,我會繼續記錄我學習過程中遇到的問題和每一次的實踐。久仰python大名,由於不是計算機專業,只有一些c語言基礎,遲遲未能開始學習。計算機算是...
python學習之旅
day01 python初始 變數 常量 注釋 基礎資料型別 輸入 if day02 while 字串格式化 運算子 編碼初識 day03 整型 字串 for迴圈 day04 列表 元組 range day05 字典 day06 小資料池 深淺拷貝 集合 day07 資料型別補充 坑 二次編碼 da...
python之學習之旅
python簡介及環境搭建 python 英國發音 pa n 美國發音 pa n 是一種物件導向的解釋型 計算機程式語言,由荷蘭人 guido van rossum於1989年發明,第乙個公開發行版發行於1991年。python是純粹的 自由軟體,源 和 直譯器cpython遵循 gpl gnu g...