```python # files.py import pandas as pd class Files: def __init__(self, db='files.sqlite'): import sqlite3 if not db.endswith('.sqlite'): db += '.sqlite' self.conn = sqlite3.connect(db, isolation_level=None, timeout=60) self.conn.row_factory = sqlite3.Row self("PRAGMA journal_mode=WAL") self("CREATE TABLE IF NOT EXISTS files (filename TEXT PRIMARY KEY, content BLOB)") def __call__(self, *args) -> pd.DataFrame: return pd.DataFrame(dict(row) for row in self.conn.execute(*args)) def __setitem__(self, filename, content) -> None: assert isinstance(filename, str) if isinstance(content, str): content = content.encode() assert isinstance(content, bytes) self("INSERT OR REPLACE INTO files VALUES (?,?)", (filename, content)) def __getitem__(self, filename) -> bytes: result = self("SELECT content FROM files WHERE filename=?", (filename,)) if result.empty: raise KeyError(filename) return result.content[0] def __delitem__(self, filename) -> None: self("DELETE FROM files WHERE filename=?", (filename,)) def __iter__(self): df = self("SELECT filename FROM files") return iter([] if df.empty else df.filename) def __contains__(self, filename: str) -> bool: return not self("SELECT 1 FROM files WHERE filename=?", (filename,)).empty def __len__(self): return self("SELECT COUNT(*) FROM files").iloc[0, 0] def __enter__(self): return self def __exit__(self, exc_type, exc_val, exc_tb): self.close() def __del__(self): self.close() def close(self): if self.conn: self('PRAGMA wal_checkpoint(FULL)') self.conn.close() self.conn = None if __name__ == "__main__": fs = Files() for filename in fs: print(filename, fs[filename]) fs['hello'] = 'world' print(fs['hello']) print(len(fs)) print('hello' in fs) for filename in fs: print(filename) del fs['hello'] for filename in fs: print(filename) with Files() as fs: fs['world'] = '1234' print(fs['world']) print(len(fs)) ```