上下文管理StringIO和BytesIO

2021-09-23 01:47:13 字數 1063 閱讀 5287

import io

import sys

from io import stringio

from io import bytesio

sio = stringio(

)print

(sio.readable(

), sio.writable(

), sio.seekable())

sio.write(

'abc'

)print

(sio.read())

# 結果為空,因為寫入後,檔案指標在eof

sio.seek(0)

# 將檔案指標調整到檔案開頭

print

(sio.read())

print

(sio.getvalue())

# 獲取所有內容,跟檔案指標沒有關係

sio.close(

)bio = bytesio(

)print

(bio.readable(

), bio.writable(

), bio.seekable())

bio.write(b'abc'

)print

(bio.read())

# 結果為空,因為寫入後,檔案指標在eof

bio.seek(0)

# 將檔案指標調整到檔案開頭

print

(bio.read())

bio.close(

)with io.stringio(

)as f:

print

(f.readable(

), f.writable(

), f.seekable())

# print(f.fileno()) # 輸出檔案描述符——>會出錯,因為你檔案根本就沒落地

# file-like類檔案物件

f = sys.stdout

f.write(

'xyz'

)sys.stderr.write(

'xyz'

)

程序上下文和中斷上下文

程序上下文和中斷上下文是作業系統中很重要的兩個概念,這兩個概念在作業系統課程中不斷被提及,是最經常接觸 看上去很懂但又說不清楚到底怎麼回事。造成這種局面的原因,可能是原來接觸到的作業系統課程的教學總停留在一種淺層次的理論層面上,沒有深入去研究。處理器總處於以下狀態中的一種 核心態,執行於程序上下文,...

程序上下文和中斷上下文

程序上下文是一種核心所處的操作模式,此時核心代表程序執行 例如執行系統呼叫或執行核心執行緒。上下文context 上下文簡單說來就是乙個環境,相對於程序而言,就是程序執行時的環境。具體來說就是各個變數和資料,包括所有的暫存器變數 程序開啟的檔案 記憶體資訊等。乙個程序的上下文可以分為三個部分 使用者...

程序上下文和中斷上下文

核心空間和使用者空間是現代作業系統的兩種工作模式,核心模組執行在核心空間,而使用者態應用程式執行在使用者空間。它們代表不同的級別,而對系統資源具有不同的訪問許可權。核心模組執行在最高端別 核心態 這個級下所有的操作都受系統信任,而應用程式執行在較低級別 使用者態 在這個級別,處理器控制著對硬體的直接...