get_readable_fileobj

astropy.utils.data.get_readable_fileobj(name_or_obj, encoding=None, cache=False, show_progress=True, remote_timeout=None, sources=None, http_headers=None)[ソース]

ファイルまたはURLから読み取り可能で検索可能な類似ファイルのオブジェクトを生成する。

これは、ファイル名、URL、および読み取り可能な類似ファイルのオブジェクトを転送することをサポートしており、Pythonインストールが適切な圧縮ライブラリを提供している場合、これらのオブジェクトのいずれもgzip、bzip 2、またはlzma(XZ)に圧縮することができます。

パラメータ
name_or_obj文字列または類似ファイル

アクセスするファイルのファイル名(文字列形式で与えられている場合)、またはアクセスする類似ファイルのオブジェクト。

類似ファイルのオブジェクトであれば,バイナリモードで開かなければならない.

encoding文字列、オプション

When None (default), returns a file-like object with a read method that returns str (unicode) objects, using locale.getpreferredencoding as an encoding. This matches the default behavior of the built-in open when no mode argument is provided.

いつ? 'binary' 似たようなファイルのオブジェクトを返します read 方法戻り bytes 物体です。

When another string, it is the name of an encoding, and the file-like object's read method will return str (unicode) objects, decoded from binary using the given encoding.

cacheBoolまたは“update”、オプション

リモートURLの内容をキャッシュするかどうか.“UPDATE”であれば、リモートURLに新しいバージョンがあるかどうかをチェックしますが、結果をキャッシュに格納します。

show_progressブル値、オプション

ファイルがリモートサーバからダウンロードされた場合、プログレスバーが表示されるか否か。デフォルト値は True それがそうです。

remote_timeout浮いている.

遠隔要求のタイムアウト時間(秒単位)(デフォルトで配置可能であると考えられる. astropy.utils.data.Conf.remote_timeout )。

sources文字列リスト、オプション

そこからファイルのURLリスト(提供すれば)の取得を試みる.その結果,元のURLに格納される.元のURLは not これは、このリストにない限り、試みてください;これは、現在知られているアクセス不可能なマスターサーバが長時間待つことを防止するためである。

http_headersDICTやNONE

着信するHTTPリクエストヘッダ urlopen if needed. (These headers are ignored if the protocol for the name_or_obj/sources エントリはリモートHTTP URLではありません。)デフォルトの場合(なし)、ヘッダは User-Agent: some_value そして Accept: */* どこですか some_value 以下の人員で設置されています astropy.utils.data.conf.default_http_user_agent それがそうです。

返品
file類似文書の可読性

注意事項

この関数は、コンテキストマネージャであり、例えば、以下のように使用される。

with get_readable_fileobj('file.dat') as f:
    contents = f.read()

URLが提供され、キャッシュが使用中である場合、提供されるURLは、キャッシュで使用される名前となる。コンテンツは、提供されたこのURLの下のキャッシュに格納されている可能性があり、このURLからダウンロードされてもよく、その中に列挙された位置のうちの1つ sources それがそうです。見 download_file もっと細かいことを知っています。