OS Utilities
This example demonstrates the advanced OS utilities provided by the OSUtils class.
Basic Operations
Basic OS Utilities
"""
OS utilities demonstration.
This demo shows the advanced OS utilities including:
- File and directory operations
- Directory watching
- Batch processing
- Secure file operations
"""
from datetime import datetime, timedelta
from true.collections import OSUtils, File, Directory
def demo_basic_operations():
"""Demonstrate basic OSUtils operations."""
print("\n=== Basic OS Operations ===")
# Initialize OSUtils
os_utils = OSUtils()
# Create test files and directories
test_dir = Directory("test_os_utils")
test_dir.create()
Batch Processing
Batch Processing Example
# Create some test files
File("test_os_utils/file1.txt").write_text("Test file 1")
File("test_os_utils/file2.txt").write_text("Test file 2")
# Get file and directory objects
file1 = os_utils.get_file("test_os_utils/file1.txt")
dir1 = os_utils.get_directory("test_os_utils")
print(f"File path: {file1.abspath}")
print(f"Directory path: {dir1.abspath}")
# Safe move operation
os_utils.safe_move("test_os_utils/file1.txt", "test_os_utils/file1_moved.txt")
print("File moved successfully")
# Clean up
test_dir.delete()
def demo_batch_processing():
"""Demonstrate batch file processing."""
print("\n=== Batch Processing ===")
os_utils = OSUtils()
Secure Operations
Secure File Operations
batch_dir.create()
# Create test files
files = []
for i in range(3):
file_path = f"batch_dir/batch_{i}.txt"
File(file_path).write_text(f"Batch file {i}")
files.append(file_path)
# Define processing function
def process_file(file_path):
with open(file_path, 'r') as f:
content = f.read()
print(f"Processed {file_path}: {content}")
# Process files in parallel
print("\nProcessing files in parallel...")
os_utils.batch_process(files, process_file, parallel=True)
File Search Operations
File Search Example
batch_dir.delete()
def demo_secure_operations():
"""Demonstrate secure file operations."""
print("\n=== Secure Operations ===")
os_utils = OSUtils()
secure_dir = Directory("secure_dir")
secure_dir.create()
# Create a file with sensitive content
sensitive_file = File("secure_dir/sensitive.txt")
sensitive_file.write_text("Sensitive data")
# Securely delete the file
print("Securely deleting file...")
os_utils.safe_delete(sensitive_file.abspath, secure=True)
print("File securely deleted")
# Clean up
secure_dir.delete()
Key Features
Safe file and directory operations
Parallel batch processing
Secure file deletion
Date-based file search
Path manipulation
Error handling and retry mechanisms
Operation logging