注册 登录
编程论坛 Python论坛

关于新建一个文件进行写文件操作时,如何保证要写的这个文件当前不存在

roooobinhood 发布于 2010-04-10 19:58, 1116 次点击
用 os.path.exists(fname) 来判断文件是否存在确实可行。

但是,如果不要用这个函数,而是要用异常处理的方法来取代这个函数的话,需要怎么做呢?
还有,如果已经存在1.txt这个文件,用:
程序代码:
try:
    f = open('1.txt', 'w')
except Exception, e:
    print e
else:
    str = raw_input()
    f.writelines(str)
    f.close()
这段代码这样会不会将已有的"1.txt"文件覆盖呢?
小弟又迷糊了。。。

try:
    XXX
except YYY, e:
    print ‘ZZZ’,e
else:
    pass

XXX、YYY、ZZZ应该如何填才能保证文件不会覆盖已经存在的文件呢?多谢前辈们指教!




[ 本帖最后由 roooobinhood 于 2010-4-10 20:41 编辑 ]
5 回复
#2
外部三电铃2010-04-10 20:20
程序代码:
try:
    f = open('1.txt')
except Exception, e:
    print e

#3
roooobinhood2010-04-10 20:31
以下是引用外部三电铃在2010-4-10 20:20:19的发言:

try:
    f = open('1.txt')
except Exception, e:
    print e
不好意思,我其实想问的是:如何通过异常处理来保证自己新建的文件不会覆盖已经存在的文件,帖子里没有说清楚,呵呵~~
#4
外部三电铃2010-04-10 21:30
f = open('1.txt')

本来就不会覆盖已存在的
#5
外部三电铃2010-04-10 21:42
加上参数w以后才会覆盖已存在的
f = open('1.txt','w')

#6
hust_cs2010-04-18 20:35
f = open('1.txt'),后面没有mod参数的话,默认以"r"的方式打开文件并返回一个文件对象。如果要往文件里写的话,就是加入“w”模式,在“w”下,如果原文件不存在,则创建之,否则覆盖原文件。不过你可以用"wa"的方式将写入的东西追加在原文件的后面。不知道这是否回答了你想问的问题。
1