Python 中 fd 表示什麼?

時間 2021-05-29 23:23:17

1樓:NateScarlet

importio,

tempfilefd,

name

=tempfile

.mkstemp

()withio.

open(fd

,'w')as

f:f.

write

('message')

2樓:東東

以下是即將出版的一本書中的草稿,尚待完善,先發在這裡權當回答。

在Python中可以通過編碼實現對檔案的讀寫操作,然而必須清楚的是,程式對檔案的讀寫功能實際是由作業系統提供的,因為普通程式不能直接操作磁碟。在執行檔案操作時,Python會請求作業系統開啟乙個物件——這個物件通常被稱作檔案描述符(file descriptor,簡稱fd),其對應的就是後面要操作的檔案物件——然後再通過作業系統提供的介面對該檔案物件進行讀取和寫入資料的操作,即通常所說的「讀取檔案」和「寫入檔案」。

檔案讀寫的操作步驟基本是這樣的:

開啟檔案——獲取檔案描述符。

讀寫檔案——操作檔案描述符。

關閉檔案——關閉檔案描述符。

也就是說,程式對檔案的各種操作,其實是引用了系統返回的檔案描述符。

在Python中,open()函式用於向作業系統請求返回乙個檔案物件,然後即可使用其他方法對檔案物件進行資料的讀取和寫入等各種操作。

open()函式用於返回乙個檔案物件(File Object),最常與這兩個引數一起使用:open(filename, mode)。例如:

>>> f = open('sample.txt', 'w')

其中第乙個引數filename是乙個用於指定要開啟的檔名稱的字串,也可以指定路徑。如果不指定檔案所在的路徑,Python會在當前資料夾中去尋找檔案並開啟。如果檔案不能被開啟,則會丟擲OSError異常。

檔案物件在Python中是一種path-like object(可翻譯為類路徑物件,或者不翻譯直接用英文理解),即一種表示檔案的系統路徑的物件。它提供的是乙個要被開啟的檔案的路徑名稱,可以是絕對路徑或者相對於當前工作資料夾的路徑,或者提供的是乙個要被封裝的檔案描述符。

系統核心(kernel)使用檔案描述符(file descriptor,簡稱fd)來訪問檔案,也就是說,實際上在使用open()函式開啟現存盤案時,核心返回的是乙個檔案描述符。讀寫檔案時也需要使用檔案描述符來指定要讀寫的檔案。檔案描述符在形式上是乙個非負整數,實則是乙個索引值。

(未完待續)

python 用list of lists表示矩陣的問題?

usr bin python encoding utf 8 內容來自python cookbook 第二版第4.5章節 在無須共享引用的條件下建立列表的列表 避免隱式的引用共享 multi 0 5 3 print multi multi 0 0 oops print multi oops 0,0,0...

python中stream None什麼意思?

陳哲 Python 3.7.7documentation Tutorial 4.More Control Flow Tools 4.6.Defining Functions 4.7 More onDefining Functions python3 Defining Functions Defini...

python中enumerate object究竟是一種怎樣的存在形式呢?

l Ass We Can type of l is tuplee enumerate l type of e is enumerate objectforv inenumerate e type of enumerate e is enumerate object print v type of v...