Python中的open()不会创建一个文件,如果它不存在
如果文件存在,或者如果不存在,然后创建它并以读/写方式打开文件,将文件打开为可读/写的最佳方式是什么? 从我读的file = open('myfile.dat', 'rw')
应该这样做,对吧?
它不适合我(Python 2.6.2),我想知道它是一个版本问题,还是不应该像这样或那样工作。
底线是,我只需要解决这个问题。 我对其他的东西很好奇,但我需要的只是做开幕式的一个好方法。
更新:封闭目录可由用户和组写入,而不是其他(我在Linux系统上......换言之,权限为775),确切的错误是:
IOError:没有这样的文件或目录。
你应该使用file = open('myfile.dat', 'w+')
以下方法的优点是,即使在路上发生异常,文件在块结尾处也会正确关闭 。 这相当于try-finally
,但更短。
with open("file.dat","a+") as f:
f.write(...)
...
a +为追加和读取打开文件。 如果文件存在,文件指针位于文件末尾。 该文件以附加模式打开。 如果文件不存在,它会创建一个新的文件用于读写。 -Python文件模式
seek()方法设置文件的当前位置。
f.seek(pos [, (0|1|2)])
pos .. position of the r/w pointer
[] .. optionally
() .. one of ->
0 .. absolute position
1 .. relative position to current
2 .. relative position from end
只允许“rwab +”字符; 必须有一个“rwa” - 请参阅Stack Overflow问题Python文件模式的详细信息。
>>> import os
>>> if os.path.exists("myfile.dat"):
... f = file("myfile.dat", "r+")
... else:
... f = file("myfile.dat", "w")
r +表示读/写
链接地址: http://www.djcxy.com/p/42303.html上一篇: open() in Python does not create a file if it doesn't exist