En respuesta a su segunda pregunta: ¿Qué hace este código? ...
Este es un código de comprobación de errores bastante estándar para un script de Python que acepta argumentos de línea de comandos.
Entonces, la primera ifdeclaración se traduce en: si no me ha pasado una discusión, le diré cómo debe pasarme una discusión en el futuro, por ejemplo, verá esto en la pantalla:
Usage: myscript.py database-name
La siguiente ifdeclaración verifica si el 'nombre-base de datos' que le pasó al script realmente existe en el sistema de archivos. Si no, recibirá un mensaje como este:
ERROR: Database database-name was not found!
De la documentación :
argv [0] es el nombre del script (depende del sistema operativo si se trata de un nombre de ruta completo o no). Si el comando se ejecutó utilizando la opción de línea de comando -c para el intérprete, argv [0] se establece en la cadena '-c'. Si no se pasó ningún nombre de script al intérprete de Python, argv [0] es la cadena vacía.
%operador está en desuso a favor delstr.formatmétodo más potente , consulte PEP-3101 .