Spec-Zone.ru › TensorFlow 2.9

tf.io.gfile.GFile

Просмотреть исходный код на GitHub

Оборачивающие средства ввода-вывода файлов без блокировки потоков.

Просмотр псевдонимов

Псевдонимы совместимости для миграции

См. Руководство по миграции для получения дополнительных сведений.

tf.compat.v1.gfile.GFile, tf.compat.v1.gfile.Open, tf.compat.v1.io.gfile.GFile

tf.io.gfile.GFile(
    name, mode='r'
)

Основные задачи модуля tf.io.gfile:

  1. Предоставление API, близкого к объектам ввода-вывода файлов Python,
  2. И реализация, основанная на API файловой системы C++ TensorFlow.

API файловой системы C++ поддерживает несколько реализаций файловых систем, включая локальные файлы, Google Cloud Storage (используя префикс gs://, и HDFS (используя префикс hdfs://). TensorFlow экспортирует их как tf.io.gfile, чтобы вы могли использовать эти реализации для сохранения и загрузки контрольных точек, записи в журналы TensorBoard и доступа к данным обучения (среди прочего). Однако, если все ваши файлы локальные, вы можете использовать обычный API файлов Python без проблем.

Примечание: хотя схожий с реализацией ввода-вывода Python, существуют семантические различия, чтобы сделать tf.io.gfile более эффективным для файловых систем-хранилищ. Например, файл в режиме записи не будет открыт до первого вызова записи, чтобы минимизировать вызовы RPC в сетевых файловых системах.

После получения объекта GFile, вы можете использовать его почти так же, как и любой объект файла Python:

with open("/tmp/x", "w") as f:
  f.write("asdf")
4
with tf.io.gfile.GFile("/tmp/x") as f:
  f.read()
'asdf'

Разница в том, что вы можете указать схемы URI для использования других файловых систем (например, gs:// для GCS, s3:// для S3 и т. д.), если они поддерживаются. Используя, например, file://, у нас есть:

with tf.io.gfile.GFile("file:///tmp/x", "w") as f:
  f.write("qwert")
  f.write("asdf")
tf.io.gfile.GFile("file:///tmp/x").read()
'qwertasdf'

Вы также можете прочитать все строки файла напрямую:

with tf.io.gfile.GFile("file:///tmp/x", "w") as f:
  f.write("asdf\n")
  f.write("qwer\n")
tf.io.gfile.GFile("/tmp/x").readlines()
['asdf\n', 'qwer\n']

Вы можете итерироваться по строкам:

with tf.io.gfile.GFile("file:///tmp/x", "w") as f:
  f.write("asdf\n")
  f.write("qwer\n")
for line in tf.io.gfile.GFile("/tmp/x"):
  print(line[:-1]) # removes the end of line character
asdf
qwer

Случайный доступ к чтению возможен, если это поддерживает базовая файловая система:

with open("/tmp/x", "w") as f:
  f.write("asdfqwer")
f = tf.io.gfile.GFile("/tmp/x")
f.read(3)
'asd'
f.seek(4)
f.tell()
4
f.read(3)
'qwe'
f.tell()
7
f.close()
Атрибуты
mode Возвращает режим открытия файла.
name Возвращает имя файла.

Методы

close

Просмотреть исходный код

close()

Закрывает файл.

Должен вызываться для WritableFile, чтобы произвести сброс.

В общем случае, если вы используете шаблон менеджера контекста, вам не нужно вызывать это напрямую.

with tf.io.gfile.GFile("/tmp/x", "w") as f:
  f.write("asdf\n")
  f.write("qwer\n")
# implicit f.close() at the end of the block

Для облачных файловых систем, если забыть вызвать close(), это может привести к потере данных, поскольку последняя запись может не быть реплицирована.

flush

Просмотреть исходный код

flush()

Очищает файл Writable.

Это гарантирует, что данные покинули процесс без каких-либо гарантий относительно их записи на диск. Это означает, что данные сохранятся при сбое приложения, но не обязательно при сбое ОС.

next

Просмотреть исходный код

next()

read

Просмотреть исходный код

read(
    n=-1
)

Возвращает содержимое файла в виде строки.

Начинает чтение с текущей позиции в файле.

Аргументы
n Читает n байт, если n != -1. Если n = -1, читает до конца файла.
Возвращает
n байт файла (или весь файл) в режиме байтов или n байт строки, если в режиме строк (обычном).

readline

Просмотреть исходный код

readline()

Читает следующую строку, сохраняя \n. В конце файла возвращает ''.

readlines

Просмотреть исходный код

readlines()

Возвращает все строки из файла в списке.

seek

Просмотреть исходный код

seek(
    offset=None, whence=0, position=None
)

Перемещает указатель в файле на заданный смещение. (аргументы устарели)

Устарело: НЕКОТОРЫЕ АРГУМЕНТЫ УСТАРЕЛИ: (position). Они будут удалены в будущей версии. Инструкции по обновлению: аргумент position устарел в пользу аргумента offset.
Аргументы
offset Количество байтов относительно аргумента whence.
whence Допустимые значения для whence: 0: начало файла (по умолчанию), 1: относительно текущей позиции файла, 2: относительно конца файла. offset обычно отрицательно.

seekable

Просмотреть исходный код

seekable()

Возвращает True, так как FileIO поддерживает операции случайного доступа seek()/tell().

size

Просмотреть исходный код

size()

Возвращает размер файла.

tell

Просмотреть исходный код

tell()

Возвращает текущую позицию в файле.

write

Просмотреть исходный код

write(
    file_content
)

Записывает file_content в файл. Добавляет в конец файла.

__enter__

Просмотреть исходный код

__enter__()

Поддержка использования с оператором "with".

__exit__

Просмотреть исходный код

__exit__(
    unused_type, unused_value, unused_traceback
)

Поддержка использования с оператором "with".

__iter__

Просмотреть исходный код

__iter__()

© 2022 The TensorFlow Authors. All rights reserved.
Licensed under the Creative Commons Attribution License 4.0.
Code samples licensed under the Apache 2.0 License.
https://www.tensorflow.org/versions/r2.9/api_docs/python/tf/io/gfile/GFile

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API