Exercice Python, round 3 15


Continuons cette petite série fort sympathique, avec aujourd’hui un peu de manipulation de bytes, de gestion d’erreur et de parsing d’arguments de script.

Souvenez vous de ce hack qui permet d’avoir sa video Flash en plein écran sur un écran, et travailler sur l’autre, quand on est en dual screen. Le problème c’est qu’il faut le faire à la main. De plus, il faut recommencer à chaque mise à jour de flash. On va automatiser tout ça.

Faites un script (en Python 3 \o/) qui va parser les arguments de la ligne de commande avec argparse. Il doit déclarer :

  • Une docstring.
  • Un message d’help à partir de cette docstring.
  • Un argument positionnel obligatoire devant être le chemin du binaire flash.

Ensuite on ouvre le fichier, on cherche le fameux _NET_ACTIVE_WINDOW, on le deface, et on sauvegarde le tout dans le fichier final. Ce sera l’occasion de jouer un peu avec la gestion plus propre du binaire en Python 3.

Contrairement aux exercices précédent, on met un minimum de check d’erreur car c’est un petit script (35 lignes copieusement commentées chez moi): donc au moins avertir proprement l’utilisateur si on ne peut pas lire ou écrire dans le fichier et pourquoi.

La solution demain.

15 thoughts on “Exercice Python, round 3

Leave a comment

Des questions Python sans rapport avec l'article ? Posez-les sur IndexError.