パスを取得し、ファイルに既知の拡張子がある場合はファイルをロードしようとし、さらに注意深いチェックを行うコードの単体テストをいくつか作成しています。
単体テストでは、拡張子は正しいが内容が正しくない一時ファイルを作成したいと思います。私の場合は、test.tif
を装った空のファイルです。
tempfile
モジュールを使用して、拡張子(または名前全体)を指定しながら一時ファイルを作成するにはどうすればよいですか?
NamedTemporaryFile
クラス、およびsuffix
パラメーターとprefix
パラメーターを確認しましたが、それでも拡張子を設定できません。一時ディレクトリに手動でファイルを作成できると思いますが、その後、自分が求めている自己削除機能が失われます。
これはうまくいきませんか?
In [2]: tempfile.NamedTemporaryFile(suffix='.tif').name
Out[2]: '/var/folders/gq/swc6jtld5853skyq_xc2lpc40000gn/T/tmplrtwvxg7.tif'