一個非常愚蠢的小問題。規範示例是f = open('filename')
,但是你使用什麼變量名作爲文件描述符?
f
不是很具描述性。在不看代碼的時候, 你可以忘記它是否意味着 「file」或「function f(x)」或「fourier transform results」或別的東西。 EIBTI。- 在Python中,
file
已被某個函數佔用。
你用什麼呢?
一個非常愚蠢的小問題。規範示例是f = open('filename')
,但是你使用什麼變量名作爲文件描述符?
f
不是很具描述性。在不看代碼的時候, 你可以忘記它是否意味着 「file」或「function f(x)」或「fourier transform results」或別的東西。 EIBTI。file
已被某個函數佔用。你用什麼呢?
data_file
settings_file
results_file
.... etc
通常我會用「FP」的短壽命文件指針。
對於更長壽的描述符,我會更具描述性。例如,「fpDebugLog」。
您可以將其追加到匈牙利式的「file_fft」開頭。
但是,我會嘗試儘快關閉文件描述符,並且我建議使用這樣的語句,這樣您不必擔心關閉它,並且它更容易不丟失它的跟蹤。
with open("x.txt") as f:
data = f.read()
do something with data
「與」是一個偉大的!它絕對清理了我的代碼。你可以在2.5「中使用它,從__future__ import with_statement」 – 2009-09-14 04:14:42
我用來打開文件的對象不適用於語句。 「對象沒有屬性 '__exit__'」 – endolith 2009-09-19 22:52:05
@endolith:然後使用['contextlib.closing'](http://docs.python.org/library/contextlib.html#contextlib.closing)。 – icktoofay 2012-10-06 03:34:37
我很樂意使用f
(對於一個功能或文件;-)如果該標識符的範圍被限制在一個非常小的羅盤(如with open('zap') as f:
通常會預示着,說的)。一般來說,大型詞法作用域標識符應該更長和更明確的,那些與詞法小/短範圍/壽命可短,不太明顯的,這也適用於打開文件對象幾乎不亞於任何其他類型的對象! - )
我寧願使用:f, fp, fd
之一。
有時inf
/outf
輸入和輸出文件。
通常,如果文件對象的範圍只有幾行,那麼f
是完全可讀的 - 打開調用中文件名的變量名稱可能足以說明問題。否則something_file
可能是一個好主意。
'文件()'被廢棄在2.X然後平掉在3.x中刪除,所以恕我直言,這是公平的遊戲 – 2014-05-14 06:28:14
@NickT好。我總是困惑是否使用'文件'或'打開' – endolith 2014-05-14 11:47:16