background preloader

Systeme

Facebook Twitter

How to Write Perfect Python Command-line Interfaces — Learn by Example. Let’s take a simple example Let’s try to apply these rules to a concrete simple example: a script to encrypt and decrypt messages using Caesar cipher.

How to Write Perfect Python Command-line Interfaces — Learn by Example

Imagine that you have an already written encrypt function (implemented as below), and you want to create a simple script which allows to encrypt and decrypt messages. We want to let the user choose the mode between encryption (by default) and decryption, and choose the key (1 by default) with command line arguments. The first thing our script needs to do is to get the values of command line arguments. And when I google “python command line arguments”, the first result I get is about sys.argv.

The “beginners” method sys.argv is a list containing all the arguments typed by the user when running your script (including the script name itself). For example, if I type: Stack Python en 2019 – Sam & Max. Suite au très bon billet Débuter avec Python en 2019, je me suis dit qu’il serait bon d’en rajouter une couche.

Stack Python en 2019 – Sam & Max

Après toutes ces années, qu’est-ce que j’utilise pour mes projets Python ? D’abord, Python 3.6, partout Pas la 3.5. Pas la 3.7. La raison est que la 3.6 est un millésime exceptionnel, dans laquelle culminent des années de fixes et goodies. La 3.7 n’est non seulement pas aussi aisée à déployer, mais elle ne contient pas encore autant de correctifs, et surtout fige les mots clés async / await, créant des surprises. Python pour les sciences, une présentation. La sortie de Pandas 0.24.1 est l’occasion de parler de Python et du traitement des données scientifiques.

Python pour les sciences, une présentation

Depuis quelques années, un certain nombre de projets ont émergé afin d’équiper Python pour les mondes de la recherche. Normaliser le chemin d'un dossier sélectionné via FileDialog et QML - Tiger-222. Le composant FileDialog de QML renverra une URL du type sur Windows et sur les autres OS.

Normaliser le chemin d'un dossier sélectionné via FileDialog et QML - Tiger-222

L'idée est de supprimer le préfixe " et de normaliser le chemin complet sous Windows (avec le bon séparateur de dossiers). Donc voici le morceau de code à placer dans le fichier QML, le principal se trouve dans la propriété onAccepted qui appelera to_local_file() avec l'URL du dossier sélectionné : Et côté Python, la fonction simplissime : from os.path import abspath from PyQt5.QtCore import QUrl, pyqtSlot @pyqtSlot(QUrl, result=str) def to_local_file(self, url: QUrl) -> str: return abspath(url.toLocalFile()) C'est propre et universel. Pensez à injecter la function dans le contexte de QML : Google lance un outil pour Android permettant de marquer vos appels téléphoniques indésirables comme spam, est-ce la fin du télémarketing ? Il y a quelques jours, au cours de son événement live blog Hardware 2018, Google a annoncé quelques nouveaux produits, dont un qui retient tout particulièrement l’attention.

Google lance un outil pour Android permettant de marquer vos appels téléphoniques indésirables comme spam, est-ce la fin du télémarketing ?

Il s’agit d’une nouvelle fonctionnalité Android qui permettrait à Google de gérer vos appels pour vous, vous épargnant ainsi des appels automatisés et du spam. Lancée sur les derniers nés de la famille Pixel, notamment le Pixel 3 et le Pixel 3 XL, cette nouvelle fonction sera élargie à l’ensemble de la marque de smartphones made in Google dès le mois prochain, selon Liza Ma, responsable de produit à Google. Nommée Call Screen, cette nouvelle fonctionnalité a été décrite comme étant un outil « intégré à l’appareil » que les utilisateurs peuvent choisir d’activer lorsqu’ils reçoivent un appel provenant d’un numéro qu’ils ne reconnaissent pas.

Les réponses de l’appelant seront ensuite directement transcrites sous forme de texte sur l’écran de téléphone de l’utilisateur. Source : Business Insider Et vous ? Voir aussi. Stack Python en 2019 – Sam & Max. Andrew Haley de Red Hat donne son avis sur l'avenir d'OpenJDK, l'implémentation libre de Java SE, après la sortie de JDK 11 sous licence commerciale.

Oracle a annoncé, depuis quelques jours, la sortie de la version 11 de sa plateforme Java SE composée de JSR (définissant les spécifications de Java), JDK (comprenant les bibliothèques logicielles de Java) et JRE (l’environnement d’exécution de Java également inclus dans JDK).

Andrew Haley de Red Hat donne son avis sur l'avenir d'OpenJDK, l'implémentation libre de Java SE, après la sortie de JDK 11 sous licence commerciale

Au-delà des améliorations techniques et autres nouvelles fonctionnalités introduites dans cette version de Java 11, la nouvelle version de la plateforme Java SE, annoncée avec un support LTS (un support à long terme), sera livrée avec une version commerciale de JDK 11. Cette résultante est la conséquence des décisions d’Oracle annoncées en juin dernier et introduisant un modèle d’abonnement à la plateforme Java SE afin que les utilisateurs puissent bénéficier d’un support des ingénieurs d’Oracle pour cette plateforme.

Pour les binaires OpenJDK de Windows et Mac OS, il incombera aux projets de mises à jour OpenJDK de décider comment et où construire les fichiers binaires. Source : Java SE Roadmap, Red Hat Et vous ?