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

⑴ 实验室如何保证所用的文件是现行有效的版本

1、实验室有各类文件,首先对实验室的文件进行编号,保证每份文件都有唯一的编号。2、文件的分发2.1、资料员应负责建立所有文件、资料的明细和受控文件目录。2.2、资料员应建立文件发放清单,对下发文件进行编号登记,领用人应在“文件发放回收登记表”上签收,使下发的文件始终处于受控状态。3、文件的替换和更改3.1、技术负责人应组织有关人员定期跟踪标准或规程/规范的最新出版信息。3.2、资料员负责文件资料有效性的确认。需要替换或更改的技术文件应由使用人提出申请, 经技术管理层批准后, 由资料员登记编号下发使用。3.3、文件的更改申请应说明更改的理由,必要时应提出书面依据及背景材料。更改的审批应由原审批人负责。文件修订与更改相应记录应保存。4、文件的作废与销毁4.1、应停止使用的技术文件,由使用人提出申请,经技术负责人批准后,中止使用。4.2、所有失效或作废文件由资料员及时从发放或使用场所撤出,加盖“作废文件”印章,防止使用作废文件;尤其在合订本中的有关标准,有效文件应予以标明。4.3、因为某种原因需要保留的任何已作废文件,都应进行适当的标识;4.4、对要销毁的作废文件,由相关部门填写“文件销毁申请单”,编制人核准后报实验室主任或其授权人批准销毁。4.5、资料员应对需淘汰的文件及时清理, 集中管理。需要销毁的文件应由资料员列出销毁清单,书面报告实验室领导,批准后在质量负责人监督下销毁。5、文件的保管、借阅及归档5.1、文件均应保存适当的期限。保存期限根据文件的重要程度而定。5.2、借阅、复印文件应填写“借阅申请单”,由实验室主任审批后向资料员借阅、复印;资料员填写文件借阅登记表。5.3、所有原始观察记录、计算和导出数据、原始记录、检测和/或校准证书副本、能力验证报告等都属保密文件,其借阅、复印应执行《保护客户的机密信息和所有权管理程序》并填写“文件借阅登记表”。需要保密的文件应由资料员设专柜保管。5.4、文件的归档应安全贮存,防潮、防火、防虫、防遗失,编号登记保管;5.5、超过保存期的档案资料,由资料员列出销毁清单,书面报告实验室领导,批准后在质量负责人监督下销毁。

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

你的试验很详细。不过这个现象在linux下可能与windows下不一样。 通常改名或者是删除后文件就失效了。写入操作也是无效的。 为了防止别人修改你的文件,通常在写入时,会加上一个锁。使用操作系统特有的open方法才可以加锁。 可以使用portalocker,filelock 也可以使用posixfile,os.open能不能成呢?按理可以。不过C语言里使用fopen没有这个功能,不过使用fcntl里的open可以。 你加了锁后,别人就不能写。文件处于占用状态。 另外操作系统都有一种文件监控机制的消息通知。具体忘记了。在unix与windows都有这个功能。当别人程序修改了某个文件,你会立刻得到消息通知。 补充一些教程。os.open还是可以用的。os.open(file, flags[, mode]);Parameters file — File name to be opened. flags — This is the following constants are options for the flags. They can be combined using the bitwise OR operator |. Some of them are not available on all platforms.os.O_RDONLY: open for reading onlyos.O_WRONLY: open for writing onlyos.O_RDWR : open for reading and writingos.O_NONBLOCK: do not block on openos.O_APPEND: append on each writeos.O_CREAT: create file if it does not existos.O_TRUNC: truncate size to 0os.O_EXCL: error if create and file existsos.O_SHLOCK: atomically obtain a shared lockos.O_EXLOCK: atomically obtain an exclusive lockos.O_DIRECT: eliminate or rece cache effectsos.O_FSYNC : synchronous writesos.O_NOFOLLOW: do not follow symlinks mode — This work in similar way as it works for chmod() method.


赞 (0)