编辑python脚本正在处理的文件
我正在尝试使用一个文件(csv、json、txt,尚未确定格式),我可以在其中放入几行数据。python脚本将在cron上每5分钟运行一次,并检查文件是否有任何新内容,如果有,则对其进行处理,并在处理过程中删除每一行 我试图防止这样一种情况:当进程抓取数据并清空文件时,我打开文件,进行一些更改并保存它,但我的保存将其写回 我认为唯一安全的方法是让它处理一个文件夹,然后查找新文件,所有更改都会被删除到一个新文件中。因此,这种情况永远不会发生编辑python脚本正在处理的文件,python,concurrency,io,Python,Concurrency,Io,我正在尝试使用一个文件(csv、json、txt,尚未确定格式),我可以在其中放入几行数据。python脚本将在cron上每5分钟运行一次,并检查文件是否有任何新内容,如果有,则对其进行处理,并在处理过程中删除每一行 我试图防止这样一种情况:当进程抓取数据并清空文件时,我打开文件,进行一些更改并保存它,但我的保存将其写回 我认为唯一安全的方法是让它处理一个文件夹,然后查找新文件,所有更改都会被删除到一个新文件中。因此,这种情况永远不会发生 是否有更好的方法,或者这是最好的方法?您可以使用以下步骤
是否有更好的方法,或者这是最好的方法?您可以使用以下步骤:
lsof
for i in range(attempts):
if not fileInUse():
processFile()
else:
time.sleep(10)
不确定这是否是你想要的:我支持上述建议。为此,文件系统级锁已经足够好了。如果您的文件系统支持,您也可以尝试将python脚本作为处理inotify事件的守护进程来运行。看见