Edit file being processed by python script
我正在尝试使用一个文件(csv,json,txt,尚未决定格式),我可以在其中放入几行数据。python脚本将在cron上运行,每5分钟运行一次,检查文件是否有任何新的内容,如果有,处理它,并在处理时删除每一行。
我试图防止在进程获取数据并清空文件时打开文件、进行一些更改并保存它,但保存操作会将其写回。
我认为确保安全的唯一方法是让它处理一个文件夹,然后只查找新文件,所有更改都将被放到一个新文件中。所以这种情况永远不会发生。
有没有更好的方法,或者这是最好的方法?
检查此答案以查看文件是否已打开,如果已打开,则只需再等待5分钟,直到进入内部睡眠状态,或者每隔10秒重试一次,直到其工作,但不超过4分钟,例如:
1 2 3 4 5 | for i in range(attempts): if not fileInUse(): processFile() else: time.sleep(10) |
您可以使用以下步骤: