Краткая информация
Содержит методы для выполнения операций с файлами, такие как seek, tell, read и write.
Обсуждение
Этот класс не может быть запущен напрямую. Экземпляр этого класса возвращается методом AIO объекта open.
Свойства
Свойство | Описание | Тип данных |
cloud (только чтение) | Экземпляр класса, который имеет методы, специфичные для облака. Он используется для получения сведений об облачном хранилище, которое использовалось при создании объекта AIOFile. Возвращает объект CloudFileOp.
| Object |
Обзор метода
Метод | Описание |
close () | Сбрасывает и закрывает дескриптор открытого файла. |
flush () | Очищает буферы записи файла. |
read (size) | Считывает данные из объекта и возвращает двоичный или текстовый код в зависимости от открытых элементов. |
rewind () | Сбрасывает позицию потока в начало. |
seek (offset, {whence}) | Изменяет позицию потока на указанное смещение в байтах. |
tell () | Возвращает текущую позицию потока. |
write (b) | Записывает данные в локальный файл или облачный объект. |
Методы
close ()
Для облачных хранилищ облачные BLOB-объекты генерируются при закрытии.
rcsfile = cloud_io.open(r'cog.txt', 'r')
rcsfile.close()
flush ()
rcsfile = cloud_io.open(r'cog.txt', 'r')
rcsfile.flush()
read (size)
Параметр | Описание | Тип данных |
size | The number of bytes that will be read. A value of -1 reads all the content. | Integer |
Тип данных | Описание |
String | Возвращает двоичный или текстовый файл (байты или строку) в зависимости от открытых элементов. |
from arcpy import AIO
cloud_io = AIO(r"C:\data\datacloud.acs")
rcsfile = cloud_io.open(r'testfile.txt', 'r')
rcsfile.read(size=4)
rcsfile.close()
from arcpy import AIO
cloud_io = AIO(r"C:\data\datacloud.acs")
with cloud_io.open(r'testfile.txt', 'r') as rcsfile:
rcsfile.read(size=4)
rewind ()
cloud_io = AIO(r"C:\data\datacloud.acs")
rcsfile = cloud_io.open(r'testfile.txt', 'r')
rcsfile.rewind()
seek (offset, {whence})
Параметр | Описание | Тип данных |
offset | The number of bytes that will be read. A value of -1 reads all the content. (Значение по умолчанию — -1) | Integer |
whence | Specifies how the file position indicator will be set.
A nonzero value for os.SEEK_CUR or os.SEEK_END is not supported for local files when the file is opened in a nonbinary mode. | Object |
import os
rcsfile = cloud_io.open(r'cog.txt', 'r')
rcsfile.seek(offset=6, whence=os.SEEK_CUR)
tell ()
Тип данных | Описание |
Integer | Текущая позиция потока. |
rcsfile = cloud_io.open(r'cog.tif', 'rb')
print(rcsfile.tell())
write (b)
Параметр | Описание | Тип данных |
b | The data that will be written. | String |
Тип данных | Описание |
Integer | Число записанных байтов. |
from arcpy import AIO
local_io = AIO(r"C:\data")
rcsfile = local_io.open(r'testfile.txt', 'r')
rcsfile.write("This is a test file.")
rcsfile.close()
from arcpy import AIO
cloud_io = AIO(r"C:\data\datacloud.acs")
rcsfile = cloud_io.open(r"C:\data\info\datafile.txt", 'w', mime={'Content-Type': 'text/plain'})
rcsfile.write("This is a test file.")
rcsfile.close()
# Using with statement (context manager to close the opened file)
cloud_io = AIO(r"C:\data\datacloud.acs")
with cloud_io.open(r"C:\data\info\datafile.txt", 'w', mime={'Content-Type': 'text/plain'}) as rcsfile:
rcsfile.write("This is a test file.")