python path finding algorithm with obstacles code example

Example: python pathfinding module

#You can install this module with  >>pip install pathfinding

#You first need to import the module
from pathfinding.core.diagonal_movement import DiagonalMovement
from pathfinding.core.grid import Grid
from pathfinding.finder.a_star import AStarFinder

#Then, create a grid. The 0 are obstacles.
matrix = [
  [1, 1, 1],
  [1, 0, 1],
  [1, 1, 1]
]
grid = Grid(matrix=matrix)

#You need now to set the start and the end.
start = grid.node(0, 0)
end = grid.node(2, 2)

#This line allow your program to move with diagonal movements.
finder = AStarFinder(diagonal_movement=DiagonalMovement.always) 

#Now you can run find_path.
path, runs = finder.find_path(start, end, grid)

print('operations:', runs, 'path length:', len(path))
print(grid.grid_str(path=path, start=start, end=end))
#If you want the list of instructions, print(path)