mirror of
				https://github.com/krahets/hello-algo.git
				synced 2025-11-04 22:28:40 +08:00 
			
		
		
		
	* Add the intial translation of code of all the languages * test * revert * Remove * Add Python and Java code for EN version
		
			
				
	
	
		
			34 lines
		
	
	
		
			954 B
		
	
	
	
		
			Python
		
	
	
	
	
	
			
		
		
	
	
			34 lines
		
	
	
		
			954 B
		
	
	
	
		
			Python
		
	
	
	
	
	
import os
 | 
						|
import glob
 | 
						|
import subprocess
 | 
						|
 | 
						|
env = os.environ.copy()
 | 
						|
env["PYTHONIOENCODING"] = "utf-8"
 | 
						|
 | 
						|
if __name__ == "__main__":
 | 
						|
    # find source code files
 | 
						|
    src_paths = sorted(glob.glob("en/codes/python/chapter_*/*.py"))
 | 
						|
    errors = []
 | 
						|
 | 
						|
    # run python code
 | 
						|
    for src_path in src_paths:
 | 
						|
        process = subprocess.Popen(
 | 
						|
            ["python", src_path],
 | 
						|
            stdout=subprocess.PIPE,
 | 
						|
            stderr=subprocess.PIPE,
 | 
						|
            text=True,
 | 
						|
            env=env,
 | 
						|
            encoding='utf-8'
 | 
						|
        )
 | 
						|
        # Wait for the process to complete, and get the output and error messages
 | 
						|
        stdout, stderr = process.communicate()
 | 
						|
        # Check the exit status
 | 
						|
        exit_status = process.returncode
 | 
						|
        if exit_status != 0:
 | 
						|
            errors.append(stderr)
 | 
						|
 | 
						|
    print(f"Tested {len(src_paths)} files")
 | 
						|
    print(f"Found exception in {len(errors)} files")
 | 
						|
    if len(errors) > 0:
 | 
						|
        raise RuntimeError("\n\n".join(errors))
 |