Los archivos con extensión .py contienen código del lenguaje de programación Python. De esta forma cuando ejecutas el archivo se ejecuta esa secuencia de código.
A diferencia de un archivo .sh que ejecuta instrucciones que cualquier sistema Linux puede ejecutar, para que un archivo .py funcione tendrás que instalar Python.
Esta es lo primero que tienes que hacer si quieres empezar a aprender a programar con Python.
Instalar Python y comprobar la versión en Ubuntu y Linux
Para poder hacerlo tienes que tener preparado algún entorno con Python. En Linux puede
python --version
Nos devuelve la versión de python que tenemos instalada y si no tenemos ninguna podemos instalarlo. Utilizamos la versión 3.x y nos olvidamos ya de la 2.7.x que está obsoleta. Vamos a instalar Python 3 en Ubuntu
sudo apt install python3
Nos pedirá la contraseña del super usuario y una vez instalado volveremos a comprobar la versión para asegurarnos de que está todo bien.
python --version
Con esto ya puedes ejecutar los archivos. Abre la consola y ve a la carpeta donde esté el .py . Supongamos que tenemos un archivo hello-world.py en la carpeta Descargas
cd Descargas
Ahora le damos permisos
chmod +x hello-world.py
Y por último lo ejecutamos
./hello-world.py
Hay que tener en cuenta que un archivo .py puede hacer algo visible, algo interno que no veas o simplemente ser un módulo, es decir, un archivo con funciones, variables, etc de Python que se usa de forma interna para crear scripts y programas.
Ejecutar o leer el archivo de forma gráfica
Si quieres hacerlo a golpe de click. En este artículo expliqué como hacerlo. Es una forma de dejar configurado cualquier extensión para que cuando le haces doble click te pregunte si quieres ejecutarlo o si prefieres abrir el archivo con el software que hayas elegido. Está explicado para los .sh pero es lo mismo para cualquier extensión.
Cómo crear un .py
Aprovecho para explicar como crear un archivo.py
Para ver el código puedes usar un editor de texto o un IDE, que sería lo ideal si tienes intención de aprender a programar o si quiere modificar el código. Yo ahora mismo como editor e texto uso Gedit y como IDE utilizo Visual Studio Code.
La forma rápida con el terminal es usar el comando touch
touch hello-world.py
Lo bueno de usar un IDE como El Visual Studio es que puedes usar la terminal en el mismo IDE, de forma que al mismo tiempo que creas el archivo puedes darle permisos, hacerle debug, etc. Todo esto sin contar la cantidad de posibiliades que nos ofrecen.