AIOFile
Summary
Contains methods that perform file-related operations such as seek, tell, read, and write.
Discussion
This class cannot be instantiated directly. An instance of this class is returned by the AIO object's open method.
Properties
| Name | Explanation | Data type |
|---|---|---|
|
cloud (Read only) |
An instance of a class that has cloud-specific methods. It is used to retrieve details of the cloud store that was used when the Returns an
|
Object |
Methods
close()
Flushes and closes the open file handle.
For cloud stores, the cloud BLOBs are generated at closing.
rcsfile = cloud_io.open(r'cog.txt', 'r')
rcsfile.close()
flush()
Flushes the write buffers of the file.
rcsfile = cloud_io.open(r'cog.txt', 'r')
rcsfile.flush()
read(size)
Reads data from an object and returns binary or text depending on the opened items.
| Name | Explanation | Data type |
|---|---|---|
|
size |
The number of bytes that will be read. A value of -1 reads all the content. |
Integer |
Return value
| Data type | Explanation |
|---|---|
|
String |
Returns binary or text (bytes or string) depending on the opened items. |
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()
Resets the stream position to the start.
cloud_io = AIO(r"C:\data\datacloud.acs")
rcsfile = cloud_io.open(r'testfile.txt', 'r')
rcsfile.rewind()
seek(offset, {whence})
Changes the stream position to the specified byte offset.
| Name | Explanation | Data type |
|---|---|---|
|
offset |
The number of bytes that will be read. A value of -1 reads all the content. The default value is -1. |
Integer |
|
whence (Optional) |
Specifies how the file position indicator will be set.
A nonzero value for |
Object |
import os
rcsfile = cloud_io.open(r'cog.txt', 'r')
rcsfile.seek(offset=6, whence=os.SEEK_CUR)
tell()
Returns the current stream position.
Return value
| Data type | Explanation |
|---|---|
|
Integer |
The current stream position. |
rcsfile = cloud_io.open(r'cog.tif', 'rb')
print(rcsfile.tell())
write(b)
Writes data to a local file or cloud object.
| Name | Explanation | Data type |
|---|---|---|
|
b |
The data that will be written. |
String |
Return value
| Data type | Explanation |
|---|---|
|
Integer |
The number of bytes written. |
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.")