2015-05-04 28 views
1

文件對象和類的文件名有什麼區別?我對此略有困惑。我對這個問題的當前答案是:文件對象是一個可以改變文件的對象,文件名就是被改變的文件的名稱。但我認爲我沒有那麼對。文件對象比。文件名

+0

提供一些代碼來說明你在詢問什麼是很有幫助的:你正在調用一個「文件對象」的例子,以及一個「類的文件名」的例子。 –

+0

是的,每當你打開一個文件時,你實際上正在創建一個新的對象,它可以像每個文件一樣,改變文件的內容,該文件具有*文件名*。不過,我不太清楚你的**文件名是什麼意思。 – nikaltipar

+0

此問題屬於http://english.stackexchange.com/ – ElmoVanKielmo

回答

6

似乎有更多的混亂比你意識到讓我們通過他們去所有

  • 文件對象:通過調用返回open一個對象(或在Python 2,file
  • 類文件對象:即不一定通過open返回,但仍然有成員函數readwrite等,就像一個真正文件對象的對象。
  • 文件名:文件的名稱,通常作爲參數傳遞給open
  • 一類的文件名:python源文件的名稱其中定義了該類。
0

變量只是綁定到對象引用的名稱。變量沒有類型。類型在對象本身中生存。

python中的幾乎所有東西都是一個對象。

當你打開一個文件時,你正在內存中創建一個文件對象。爲了防止python自動垃圾收集這個引用,你將它綁定到一個變量名,該變量名存儲文件對象的內存地址。如果你只是在處理一個文件,那麼讓文件對象臨時存在於內存中可能是需要的,因爲它在進程運行後會被清除。

您傳遞打開的文件名只是一個字符串,用於定位文件並將其位置存儲在python內存中。