使用python写文件时,如何做到写入文件由于外力删掉了之后可以新创建一个同名文件并继续写入?

[复制链接]
查看11 | 回复3 | 2013-6-8 13:58:24 | 显示全部楼层 |阅读模式
你的试验很详细。不过这个现象在linux下可能与windows下不一样。 通常改名或者是删除后文件就失效了。写入操作也是无效的。 为了防止别人修改你的文件,通常在写入时,会加上一个锁。使用操作系统特有的open方法才可以加锁。 可以使用portalocker,filelock 也可以使用posixfile,os.open能不能成呢?按理可以。不过C语言里使用fopen没有这个功能,不过使用fcntl里的open可以。 你加了锁后,别人就不能写。文件处于占用状态。 另外操作系统都有一种文件监控机制的消息通知。具体忘记了。在unix与windows都有这个功能。当别人程序修改了某个文件,你会立刻得到消息通知。 补...
回复

使用道具 举报

千问 | 2013-6-8 13:58:24 | 显示全部楼层
可以参考一下这个自动关闭文件
try..finally也行。但是with更好
with... as
eg:
>>>with open('./Makefile','r+', encoding = locale.getpreferredencoding()) as f...
回复

使用道具 举报

千问 | 2013-6-8 13:58:24 | 显示全部楼层
with open(文件名)通过这种方式python自行处理关闭文件的...
回复

使用道具 举报

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

主题

0

回帖

4882万

积分

论坛元老

Rank: 8Rank: 8

积分
48824836
热门排行