天天看點

python使用open直接打開一個不确定存在的檔案

Python可以使用open指令來打開檔案

1

2

3

<code>file</code> <code>=</code> <code>open</code><code>(</code><code>"test.txt"</code><code>)  </code><code># 打開檔案</code>

<code>temp </code><code>=</code> <code>file</code><code>.read()  </code><code># 讀取檔案所有内容</code>

<code>print</code><code>(temp)</code>

這裡省略了open的另外2個參數,使用預設的隻讀方式打開。但是如果檔案不存在則程式會報錯。

如果要防止這種情況,就需要在打開前先确認檔案是否存在。這需要導入os子產品。不過一來還沒學到,二來open本身也是可以解決的。

使用'w'寫入模式,或者'w+'讀寫模式,不行。雖然檔案不存在會建立檔案,但是如果檔案存在會将其覆寫。

也就是說無論檔案是否存在,都會重新開一個新檔案然後處理。

還有'a'追加寫模式,和'a+'追加讀寫模式。這是我需要的。檔案存在,則打開該檔案;檔案不存在,則建立一個空白檔案。

但是還要注意,打開檔案後指針是在檔案末尾的。如果要讀取檔案的内容,需要将指針移動到開頭,并且隻能用'a+'。寫模式是隻能寫,無法讀取的。

4

<code>file</code> <code>=</code> <code>open</code><code>(</code><code>"test.txt"</code><code>,</code><code>'a+'</code><code>)  </code><code># 打開檔案</code>

<code>file</code><code>.seek(</code><code>0</code><code>)  </code><code># 移動指針到開頭</code>

這樣即使檔案不存在,也不會報錯,而是建立一個空檔案打開。然後我們可以再加一個判斷語句,如果讀取到的檔案内容為空,則做一些初始化的處理。

本文轉自騎士救兵51CTO部落格,原文連結:http://blog.51cto.com/steed/1977225,如需轉載請自行聯系原作者