URL: https://linuxfr.org/news/simplifier-l-usage-de-wsh-avec-pystdlib4wsh Title: Simplifier l'usage de WSH avec pystdlib4wsh Authors: Ysabeau đŸ§¶, palm123, BenoĂźt Sibaud, gUI et Pierre Jarillon Date: 2023ćčŽ12月05æ—„T21:10:43+01:00 License: CC By-SA Tags: wsh Score: 15 Windows Script Host (WSH) est le systĂšme Microsoft permettant d’exĂ©cuter des scripts vbscript et [JScript](https://fr.wikipedia.org/wiki/JScript) (Ă  ne pas confondre avec JavaScript). Permettez-moi de vous prĂ©senter le projet libre pystdlib4wsh. Il s’agit d’une couche d’abstraction implĂ©mentant une (petite) partie de la bibliothĂšque standard de Python pour WSH. ---- [Github](https://github.com/Taratata37/pystdlib4wsh) ---- ## Pourquoi ? Sous Linux, l’utilisateur dispose du bash et de Python comme langages de scripts livrĂ©s la plupart du temps. Sous Windows il peut utiliser un antique script bat/cmd, depuis MS-DOS. Option trĂšs limitĂ©e. Il peut utiliser PowerShell sur les versions rĂ©centes. Ou WSH, inclus d’office depuis Windows 98. L’installation de Python n’est pas toujours possible (en environnement pro notamment). Faute de mieux, je suis parfois contraint d’écrire des (petits) scripts WSH pour simplifier/automatiser des traitements dans le cadre professionnel. J’ai donc entrepris de crĂ©er une implĂ©mentation partielle de la bibliothĂšque standard de Python. Celle-ci est Ă  mon avis bien plus lisible que la crĂ©ation d’objets COM pour effectuer les opĂ©rations basiques (ouverture de fichier, tĂ©lĂ©chargement, etc.). Une sorte de kit de survie pour adoucir un peu la tĂąche de crĂ©ation de scripts lorsque l’on est contraint de passer par du WSH, en contexte professionnel par exemple. Il peut Ă©galement s’entendre que les scripts rĂ©digĂ©s en utilisant cette couche d’abstraction seraient Ă  priori, dans une certaine mesure, moins difficiles Ă  traduire en Python par la suite. ## Les interfaces implĂ©mentĂ©es L’ensemble est intĂ©gralement codĂ© en JScript, divisĂ© pour le moment en trois pseudo-modules (os, IO, requests) * IO : La mĂ©thode open() permet la lecture et l’écriture de fichiers textes (objet TextIOBase) ou binaires (objet RawIOBase). La classe configparser permet en outre de lire les fichiers ini en offrant une interface analogue Ă  ce qui se fait en Python. * requests : La mĂ©thode urlopen() permet de tĂ©lĂ©charger un contenu distant. * os : Les fonctions dirname() et exists() correspondant Ă  leurs homologues Python. ## En pratique La documentation de rĂ©fĂ©rence est tout simplement la documentation de la bibliothĂšque standard de Python. L’implĂ©mentation est amĂ©liorĂ©e Ă  l’usage au fur et Ă  mesure des contributions. Que ce soient des remontĂ©s de besoin ou des propositions de morceaux de code. Cette implĂ©mentation n’a pas vocation Ă  fournir 100% de compatibilitĂ© avec les modules concernĂ©s. PlutĂŽt de rĂ©pondre convenablement Ă  80% des besoins avec 20% d’implĂ©mentation, conformĂ©ment au principe de Pareto. Et bien sĂ»r vous trouverez via le lien vers le projet le code source et des exemples concrets d’utilisation.

AltStyle ă«ă‚ˆăŁăŠć€‰æ›ă•ă‚ŒăŸăƒšăƒŒă‚ž (->ă‚ȘăƒȘă‚žăƒŠăƒ«) /