天天看点

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,如需转载请自行联系原作者