2016-12-31 10 views
3

私はPythonプログラムが書いている間にファイルを開く必要があるかもしれないユーティリティをPythonで書いています。Python:OSで開いている間にファイルに書き込む方法

ファイルはPythonプログラムでように開いている:OSでCSV = open(test.csv, "a")

Pythonプログラムが実行されている場合、ユーザーをダブルクリックtest.csv、Pythonプログラムは次のエラーで停止:

PermissionError: [Errno 13] Permission denied: 'test.csv'

私はこれがなぜ起こるのか理解しています。ファイル(読み取り専用コピー)が開いている間にPythonプログラムがファイルに書き込むことができるように、私ができることがあるかどうか疑問に思っています。私は過去に、例えばPerlプログラムが開いている間もファイルに書き込むことに気付いたので、これはプログラム的に可能です。これはPythonでできますか?

+0

多分この[回答](http://stackoverflow.com/a/22618089/3926995)がお手伝いします。 –

答えて

1

私が見つけた最善の解決策は、ファイルのコピーを作成してから、ファイルの書き込み中にその内容を表示したい場合に開きます。プロセスを自動化する場合は、ファイルのコピーをプログラムで簡単に作成できます。

リアルタイムで更新されたファイルをユーザーが見ることができる機能を実装する場合は、別の方法(おそらくソケットまたは単にstdout)でデータを受信することをお勧めします。

関連する問題