前提
pythonでcsvファイルを読み込み、データを加工するプログラムを書いています。エラー判定の処理で躓いています。
読み込むファイルをここでは「test.csv」とします。
実現したいこと
pythonでファイルを読み込むときにメモ帳アプリでtest.csvが既に開かれていた場合、「ファイルが開かれています。閉じてください」と警告を出したいです。
Excelでcsvファイルが開かれている時にはエラーを出すことができるのですが、メモ帳などでファイルを開いていた場合にはエラーとなりません。
Excel以外でもエラー判定をさせたいです。
どなたか、対応方法わかる方はいらっしゃらないでしょうか。
該当のソースコード
python
1import io 2import os 3path = r"C:\test.csv" 4 5try: 6 os.rename(path, path) 7 print("TRUE") 8except OSError as e: 9 print("ファイルが開かれています。閉じてください")
python
1try: 2 f = open("sample.csv", "r+") 3 f.closed 4 print("TRUE") 5except OSError as e: 6 print("ファイルが開かれています。閉じてください")
以下URLをもとに実施
https://pisuke-code.com/python-fcntl-flock-in-windows/
python
1import portalocker 2import io 3try: 4 f = open(r"C:\test.csv", "a+") 5 portalocker.lock(f, portalocker.LOCK_EX | portalocker.LOCK_NB) 6 print(f) 7except IOError: 8 print('ファイルが開かれています。閉じてください')

回答2件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2022/11/25 04:27