In this document, we will walk through a Python script that uses the Polywrap client to interact with a filesystem. We'll go step by step explaining each section.
First, we import the necessary libraries:
from polywrap import Uri, PolywrapClient, PolywrapClientConfigBuilder, file_system_pluginNow, let's create a URI for the specific plugin we want to access:
uri_string = Uri.from_str("wrapscan.io/polywrap/file-system@1.0")We initialize a configuration builder and the filesystem plugin, then set the package:
config_builder = PolywrapClientConfigBuilder()
fs_plugin = file_system_plugin()
config_builder.set_package(uri_string, fs_plugin)With our configuration ready, we create a Polywrap client instance:
client = PolywrapClient(config_builder.build())Here we define the file path and the data we want to write:
file_path = "./fs-example.txt"
data = "Hello world!"Next, we attempt to write data to the file:
try:
write_file_result = client.invoke(
uri=uri_string,
method="writeFile",
args={
"path": file_path,
"data": data.encode('utf-8')
}
)
print("File created!")
except Exception as e:
raise IOError("Error writing file") from eNow we attempt to read data from the file:
try:
read_file_result = client.invoke(
uri=uri_string,
method="readFile",
args={
"path": file_path
}
)
print(f"Content file: {read_file_result.decode('utf-8')}")
except Exception as e:
raise IOError("Error reading file") from eLastly, we try to remove the file:
try:
remove_file_result = client.invoke(
uri=uri_string,
method="rm",
args={
"path": file_path
}
)
print("File removed!")
except Exception as e:
raise IOError("Error removing file") from eThis example demonstrates how to use the PolywrapClient to interact with the Filesystem.
For more information on the PolywrapClient, please refer to the
Polywrap Python Client documentation.