Spaces:
Sleeping
Sleeping
from src.utils.tooling import tool | |
import subprocess | |
import tempfile | |
def execute_code(file_path: str) -> str: | |
""" | |
Executes Python code from a file and returns the final result. | |
Args: | |
file_path (str): The path to the file containing the Python code to execute. | |
Returns: | |
str: The result of the code execution. | |
""" | |
try: | |
with open(file_path, 'r') as file: | |
code = file.read() | |
with tempfile.NamedTemporaryFile(delete=False, suffix=".py") as temp_file: | |
temp_file.write(code.encode('utf-8')) | |
temp_file_path = temp_file.name | |
result = subprocess.run(['python', temp_file_path], capture_output=True, text=True) | |
if result.returncode != 0: | |
raise Exception(f"Error executing code: {result.stderr}") | |
return result.stdout | |
except FileNotFoundError: | |
raise FileNotFoundError(f"The file at {file_path} does not exist.") | |
except Exception as e: | |
raise Exception(f"An error occurred: {str(e)}") |