File Splitting
L3
FilesystemFile Context
Split a large text file into multiple equal-length segments for easier processing, distribution, and parallel handling of content.
Created by Lingjun Chen
2025-08-08
Content Transformation
Model Ranking
Click on the dots to view the trajectory of each task run
Model | Run Results | Pass@4 | Pass^4 | Avg Time | Avg Turns | Input Tokens | Output Tokens | Total Tokens |
---|---|---|---|---|---|---|---|---|
gpt-5 | 3 /4 | 711.0s | 20.0 | 101,274 | 47,303 | 148,577 | ||
claude-4-1-opus | 0 /1 | - | - | 183.6s | 18.0 | 77,149 | 3,075 | 80,224 |
claude-4-sonnet | 0 /4 | 161.8s | 17.5 | 73,073 | 2,674 | 75,747 | ||
deepseek-chat | 0 /4 | 200.4s | 16.8 | 64,801 | 2,516 | 67,317 | ||
gemini-2-5-pro | 0 /4 | 88.0s | 19.8 | 62,972 | 4,762 | 67,733 | ||
grok-4 | 0 /4 | 586.6s | 6.5 | - | - | - | ||
k2 | 0 /4 | 331.2s | 42.5 | 571,637 | 8,622 | 580,258 | ||
o3 | 0 /4 | 1478.2s | 36.0 | 203,437 | 123,497 | 326,934 | ||
qwen-3-coder | 0 /4 | 144.7s | 38.0 | 310,298 | 3,903 | 314,201 |
Task State
Task Initial State Files
Download ZIP package to view the complete file structure
file_context/
├── file_01.txt
├── file_02.txt
├── file_03.txt
├── file_04.txt
├── file_05.txt
├── file_06.txt
├── file_07.txt
├── file_08.txt
├── file_09.txt
├── file_10.txt
├── file_11.txt
├── file_12.txt
├── file_13.txt
├── file_14.txt
├── file_15.txt
├── file_16.txt
├── file_17.txt
├── file_18.txt
├── file_19.txt
├── file_20.txt
└── large_file.txt
Instruction
Verify
Python
#!/usr/bin/env python3
"""
Verification script for File Splitting Task
"""
import sys
from pathlib import Path
import os
def get_test_directory() -> Path:
"""Get the test directory from FILESYSTEM_TEST_DIR env var."""
test_root = os.environ.get("FILESYSTEM_TEST_DIR")
if not test_root:
raise ValueError("FILESYSTEM_TEST_DIR environment variable is required")
return Path(test_root)
def verify_split_directory_exists(test_dir: Path) -> bool:
"""Verify that the split directory exists."""
split_dir = test_dir / "split"
if not split_dir.exists():
print("❌ Directory 'split' not found")
return False
if not split_dir.is_dir():
print("❌ 'split' exists but is not a directory")
return False
print("✅ Split directory found")
return True
def verify_all_split_files_exist(test_dir: Path) -> bool:
"""Verify that all 10 split files exist with correct names."""
split_dir = test_dir / "split"
expected_files = [f"split_{i:02d}.txt" for i in range(1, 11)]
missing_files = []
for filename in expected_files:
file_path = split_dir / filename
if not file_path.exists():
missing_files.append(filename)
if missing_files:
print(f"❌ Missing files: {missing_files}")
return False
print("✅ All 10 split files exist with correct names")
return True
def verify_equal_file_lengths(test_dir: Path) -> bool:
"""Verify that all split files have equal character counts."""
split_dir = test_dir / "split"
file_lengths = []
for i in range(1, 11):
filename = f"split_{i:02d}.txt"
file_path = split_dir / filename
try:
content = file_path.read_text()
file_lengths.append(len(content))
except Exception as e:
print(f"❌ Error reading {filename}: {e}")
return False
# Check if all lengths are equal
if len(set(file_lengths)) != 1:
print(f"❌ File lengths are not equal: {file_lengths}")
return False
print(f"✅ All files have equal length: {file_lengths[0]} characters")
return True
def verify_content_integrity(test_dir: Path) -> bool:
"""Verify that concatenated split files equal the original file."""
split_dir = test_dir / "split"
original_file = test_dir / "large_file.txt"
# Read original content
try:
original_content = original_file.read_text()
except Exception as e:
print(f"❌ Error reading original file: {e}")
return False
# Concatenate all split files
concatenated_content = ""
for i in range(1, 11):
filename = f"split_{i:02d}.txt"
file_path = split_dir / filename
try:
content = file_path.read_text()
concatenated_content += content
except Exception as e:
print(f"❌ Error reading {filename}: {e}")
return False
# Compare content
if concatenated_content != original_content:
print("❌ Concatenated content does not match original file")
print(f" Original length: {len(original_content)}")
print(f" Concatenated length: {len(concatenated_content)}")
return False
print("✅ Concatenated content matches original file exactly")
return True
def verify_no_extra_files(test_dir: Path) -> bool:
"""Verify that no extra files exist in the split directory."""
split_dir = test_dir / "split"
expected_files = {f"split_{i:02d}.txt" for i in range(1, 11)}
actual_files = {f.name for f in split_dir.iterdir() if f.is_file()}
extra_files = actual_files - expected_files
if extra_files:
print(f"❌ Extra files found in split directory: {extra_files}")
return False
print("✅ No extra files in split directory")
return True
def main():
"""Main verification function."""
test_dir = get_test_directory()
print("🔍 Verifying File Splitting Task...")
# Define verification steps
verification_steps = [
("Split Directory Exists", verify_split_directory_exists),
("All Split Files Exist", verify_all_split_files_exist),
("Equal File Lengths", verify_equal_file_lengths),
("Content Integrity", verify_content_integrity),
("No Extra Files", verify_no_extra_files),
]
# Run all verification steps
all_passed = True
for step_name, verify_func in verification_steps:
print(f"\n--- {step_name} ---")
if not verify_func(test_dir):
all_passed = False
# Final result
print("\n" + "="*50)
if all_passed:
print("✅ File splitting task completed correctly!")
print("🎉 Task verification: PASS")
sys.exit(0)
else:
print("❌ Task verification: FAIL")
sys.exit(1)
if __name__ == "__main__":
main()