私のプログラムでは、ファイルが現在存在しない場合、多くのプロセスがファイルの作成を試みることができます。 ここでは、プロセスのうちの1つだけがファイルを作成でき、残りがすでに作成されている場合(プロセス安全でスレッドセーフなopen()実装の場合)、例外が発生するようにしたいと思います。 これをどのようにしてPythonで実現できますか?ファイルの作成方法と例外が既に存在する場合はスローする
私が望むのは、ファイルが存在しない場合、そのファイルが作成されることだけです。しかし、すでに存在する場合は例外をスローします。そして、これはすべて原子的に起こるはずです。
このコードは、望ましい機能を実現します。 – Adobri
@naxa、Python 3.3以降のドキュメント['open(...、 'x')'](https://docs.python.org/3/library/functions.html#open)には、 '情報;これは通常、すべてのプラットフォームをサポートすることを意味します。 Python 2.x ['os.fdopen'](https://docs.python.org/2/library/os.html#os.fdopen)のドキュメントでは、利用可能性について言及していますが、Unix、Windows。 – falsetru
@naxa [documentation:open()フラグ定数](https://docs.python.org/2/library/os.html#open-flag-constants)によると、次の定数はフラグのオプションですパラメータをopen()関数に渡します。これらは、ビットごとのOR演算子|を使用して組み合わせることができます。それらの一部は、すべてのプラットフォームで使用できるわけではありません。使用可能性と使用方法の説明については、Unixのopen(2)マニュアルページまたはWindowsのMSDNを参照してください。 – falsetru