Python學習之旅 16

2021-08-02 12:16:11 字數 2259 閱讀 5258

開啟檔案,得到檔案控制代碼並賦值給乙個變數

通過控制代碼對檔案進行操作

關閉檔案

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...