get_pkg_data_fileobj¶
- astropy.utils.data.get_pkg_data_fileobj(data_name, package=None, encoding=None, cache=True)[ソース]¶
パケットの標準位置からデータファイルを検索し,そのファイルを読み出しバイトのクラスファイルオブジェクトとして提供する.
- パラメータ
- data_name応力.応力
必要なデータファイルの名前/場所。以下の選択肢の1つ:
ソース配信に含まれるデータファイルの名前。このパスは,この関数を呼び出すモジュールに対して.例えば、もし
astropy.pkname使用'data/file.dat'書類を入れるastropy/pkgname/data/file.datそれがそうです。2点はレベルを上げるために使うことができます。同じ例では'../data/file.dat'得るastropy/data/file.datそれがそうです。マッチするローカルファイルが存在しない場合は,Astropyデータサーバにそのファイルを問い合わせる.
このようなハッシュは
compute_hashプレフィックスは、‘hash/34 c 33 b 3 b 0 d 56 eb9462003 af 249 effer 28’のような‘hash/’であることを要求することができる。まずローカルでハッシュを検索し,見つからなければAstropyデータサーバに問い合わせる.
- package文字列、オプション
指定された場合、呼び出しモジュールに対するデフォルトのパケットルックアップではなく、所与のパケットに対するファイルが検索される。
- encoding文字列、オプション
When
None(default), returns a file-like object with areadmethod returnsstr(unicode) objects, usinglocale.getpreferredencodingas an encoding. This matches the default behavior of the built-inopenwhen nomodeargument is provided.いつ?
'binary'似たようなファイルのオブジェクトを返しますread方法戻りbytes物体です。When another string, it is the name of an encoding, and the file-like object's
readmethod will returnstr(unicode) objects, decoded from binary using the given encoding.- cacheブルル.
Trueである場合、ファイルは、ローカルにダウンロードされて保存されるか、またはキャッシュされたローカルコピーにアクセスされる。Falseである場合、クラスファイル·オブジェクトはリソースに直接アクセスする(例えば、リモートURLにアクセスする場合は、同様である。
urllib.request.urlopen戻ります)。
- 返品
- fileobj書類状.
データファイルの内容を持つオブジェクトは,通過可能である
read機能します。使用することができますwith文の後は自動的に自分自身を閉じる.with立ちはだかっています。
- 賃上げをする
- urllib.error.URLError
もしリモートファイルが見つからなかったら。
- OSError
ローカルファイルの書き込みや読み出し時に問題が発生する.
参考
get_pkg_data_contentsファイルまたはurlの内容をバイトオブジェクトの形で返す.
get_pkg_data_filenameデータを含むファイルのローカル名を返す
実例.
これは検索データファイルとその内容を
astropy.wcsテスト:>>> from astropy.utils.data import get_pkg_data_fileobj >>> with get_pkg_data_fileobj('data/3d_cd.hdr', ... package='astropy.wcs.tests') as fobj: ... fcontents = fobj.read() ...
次の例は、Astpyデータサーバからデータファイルをダウンロードします。
allsky/allsky_rosat.fitsソース配信にはファイルは存在しません。また、次のアクセス時にダウンロードする必要がないように、ファイルをローカルに保存します。:>>> from astropy.utils.data import get_pkg_data_fileobj >>> with get_pkg_data_fileobj('allsky/allsky_rosat.fits', ... encoding='binary') as fobj: ... fcontents = fobj.read() ... Downloading http://data.astropy.org/allsky/allsky_rosat.fits [Done]
これは同じことをしましたが not ローカルキャッシュ::
>>> with get_pkg_data_fileobj('allsky/allsky_rosat.fits', ... encoding='binary', cache=False) as fobj: ... fcontents = fobj.read() ... Downloading http://data.astropy.org/allsky/allsky_rosat.fits [Done]