Skip to content

File Operations

Loading Files

from yapfm import YAPFileManager

# Basic loading
fm = YAPFileManager("config.json")
fm.load()

# Auto-create if file doesn't exist
fm = YAPFileManager("config.json", auto_create=True)
fm.load()  # Creates empty file if it doesn't exist

# Check if file exists before loading
if fm.exists():
    fm.load()
else:
    print("File doesn't exist")

Saving Files

# Basic saving
fm.save()

# Save only if file has been modified
fm.save_if_dirty()

# Check if file needs saving
if fm.is_dirty():
    fm.save()

File Status

# Check various file states
print(f"File exists: {fm.exists()}")
print(f"File loaded: {fm.is_loaded()}")
print(f"File dirty: {fm.is_dirty()}")

# Manual state management
fm.mark_as_dirty()    # Mark as modified
fm.mark_as_clean()    # Mark as clean
fm.mark_as_loaded()   # Mark as loaded

File Lifecycle

# Complete file lifecycle
fm = YAPFileManager("config.json")

# 1. Load file
fm.load()

# 2. Make changes
fm.set_key("value", dot_key="key")

# 3. Save changes
fm.save()

# 4. Reload if needed (discards unsaved changes)
fm.reload()

# 5. Unload from memory
fm.unload()