我正在開發一個更大的系統內部有兩個腳本。讓我們打電話給一個foo.py
和另一個bar.py
。如果正在執行另一個腳本,防止運行python腳本
foo
創建bar
之後將讀取和刪除的文件。現在,如果foo
正在運行並正在處理某個文件,bar
將在foo
完成之前處理同一個文件,從而導致混亂。
foo
和bar
由其他內容自動啓動,而不是由運行它們的人手動啓動。 如何確保如果foo
正在處理文件,bar
無法啓動?
我曾經想過編輯他們都讓foo
在開始執行寫入1到一個文本文件和一個當它完成0,並且使bar
閱讀文本文件,檢查wheter它可以啓動。但我真的不知道這是最優雅的解決方案,而且我不希望阻止bar
如果foo
在執行過程中不斷出現故障,剩下的文件在1
難道你不能在子過程中執行foo,並且使用'Popen.poll()'等待foo完成(通過成功或失敗)嗎?另請參閱https://stackoverflow.com/q/43274476/2923755 –
您是否查看了文件鎖定? – 2017-11-11 17:13:30
新手在這裏,沒有關於子進程或文件鎖定的標題。要做我自己的研究,但是,你們能指出任何好的來源嗎? –