diff options
Diffstat (limited to 'extension/examples/filesystem/real.py')
-rw-r--r-- | extension/examples/filesystem/real.py | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/extension/examples/filesystem/real.py b/extension/examples/filesystem/real.py new file mode 100644 index 00000000..ec7aa693 --- /dev/null +++ b/extension/examples/filesystem/real.py @@ -0,0 +1,34 @@ +import os +from typing import List +from filesystem.filesystem import FileSystem + + +class RealFileSystem(FileSystem): + """A filesystem that reads/writes from the actual filesystem.""" + + def read(self, path) -> str: + with open(path, "r") as f: + return f.read() + + def readlines(self, path) -> List[str]: + with open(path, "r") as f: + return f.readlines() + + def write(self, path, content): + with open(path, "w") as f: + f.write(content) + + def exists(self, path) -> bool: + return os.path.exists(path) + + def rename_file(self, filepath: str, new_filepath: str): + os.rename(filepath, new_filepath) + + def rename_directory(self, path: str, new_path: str): + os.rename(path, new_path) + + def delete_file(self, filepath: str): + os.remove(filepath) + + def add_directory(self, path: str): + os.makedirs(path) |