Python windows
<span class="mw-headline" id="Python_windows« >Python windows
La deuxième étape consiste à modifier le programme pour définir les _ function () en utilisant le module python gettext. Cela se fait simplement comme un système de type GNU / Linux, mais nécessite plus de code sous Microsoft Windows, de sorte que vous pouvez trouver un exemple que pour GNU / Linux, et un exemple multi-plateforme.
Le seul fichier à modifier est le fichier qui sera exécuté (coincoin.py). Bien qu’il soit important de modules avec des chaînes marqués _ (), ils seront également traduits (si vous ne voulez pas que cela se produise, consultez la documentation python).
Les emplacements seront stockées dans un dossier local. Ceci est habituellement placés dans / usr / share / locale dans les systèmes GNU, et détecté automatiquement par le module gettext, mais doit être spécifié comme Microsoft Windows (ici le dossier local dans le dossier parent lorsque l’exécutable est utilisé, mais vous pouvez choisir une autre) .
Exemple uniquement pour GNU / Linux (et probablement d’autres non-Microsoft Windows): application = ‘coincoin’import gettextgettext.install ()[…] application # Si votre programme utilise glade, précisez bien la région gettext application: gtk.glade . XML gui = (fname = ‘coincoin.glade’ domain = application)
Exemple multi-plate-forme: application = ‘os.name coincoin’import gettext ==’ nt ‘:# # Code pour les fenêtres Windows de Microsoft chemin de dossier local win_local_path = os.path.abspath (os.path.join (os.path. Pardi ‘local’)) # Code pour l’interface gtk.glade.bindtextdomain clairière possible (win_local_path application) gtk . glade.textdomain (application) du code python # pour le programme (le module local # pour déterminer le langage courant) lang = locale.getdefaultlocale locales d’importation () [0] [: 2] essayer: gettext.translation cur_lang = localedir application ( = win_local_path, langues = [lang]) cur_lang.install () except IOError: # si la langue locale n’est pas supportée, # définit toute façon _ () _ = lambda texte: texte # Si il ya des chaînes à traduire dans d’autres modules # , généralement gérés par # cur_lang.install () ou gettext.install (), # vous devez également définir _ (). Exemple: _else sous_module._ = # code pour les systèmes d’exploitation autres gettext.install ()[…]# application Si votre programme utilise glade, préciser le champ de captage gettext # application: gui = gtk.glade.XML (fname = ‘ coincoin.glade ‘domain = application)
Il ya une dernière étape: la création d’un modèle de la traduction. Cela permettra de créer de nouvelles traductions et de les mettre à jour. Nous allons utiliser l’outil xgettext.Dans un terminal, allez dans le dossier où sont stockés des modules Python et tout clairière fichiers, et exécutez la commande: k_ xgettext-kN_-o-coincoin.pot *. py *. clairière
Coincoin.pot fichier est obtenu, il est le modèle pour de futures traductions. A chaque changement de programme nécessitera la mise à jour en redémarrant la commande.
Ces bases sont utilisées pour écrire des scripts assez avancé. De toute évidence, l’intérêt de Python ne s’arrête pas là, mais je ne vais pas peser mes mots avec les définitions de fonctions, classes, la gestion des exceptions, l’introspection … Pour cela, la documentation officielle est assez uniforme et de l’enseignement, et je ne peux pas vous conseiller de Gérard Swinnen cours «Apprendre à programmer avec Python’, également adaptée à l’apprentissage d’une langue maternelle que pour une amélioration de Python.
Python peut être usedfor script de maintenance simples, ou des tâches de services publics dans les grands projets. Mais Python peut aussi être utilisé pour effectuer des tâches plus complexes avec une entreprise plus mature. Grâce à sa portabilité, Python permet de surmonter le problème de la plate-forme et les performances peuvent remplacer les scripts shell Unix ou Windows PowerShell.
En l’absence d’obus sur le déploiement de plateforme, utilisation par exemple dans un projet Java de Jython, la mise en œuvre de l’interprète en Java, permet à l’application pour gérer leurs programmes de traitement. Mais en Java, depuis Java 1.6, il est possible avec la mise en œuvre de la spécification JSR 223 de, utilisez le moteur de script directement depuis l’application Java. Cela permet de tirer pleinement parti de code existant sous forme de scripts.
Avec le regain d’intérêt pour les langages de script, comme en témoigne la hausse de Ruby ou Groovy, Python, peuvent présenter une forte interest.Finding son chemin dans de nombreuses plateformes (téléphone supercalculateur), et pour de nombreuses applications allant de la simple traitement par lots pour des applications interactives avec un interface Qt par exemple, ou une interface Web, générer du code Python est toujours un investissement dans le long terme.
Python est un langage de programmation multi-paradigme. Il favorise la programmation structurée impératif, orienté-objet. Il a un typage fort dynamique, la gestion automatique de la mémoire grâce à la collecte des ordures et le système de gestion des exceptions et est donc similaire à Perl, Ruby, Scheme, Smalltalk et Tcl.
Le langage Python est sous une licence libre similaire à la licence BSD et fonctionne sur la plupart des plateformes informatiques, des supercalculateurs aux ordinateurs centraux, de Windows à Unix via Linux et Mac OS, ou Java .. NET Il est conçu pour maximiser la productivité des programmeurs en offrant des outils de haut niveau et une syntaxe simple pour use.It est également apprécié par les enseignants qui trouvent un langage où la syntaxe, clairement séparée de mécanismes de bas niveau, permet une introduction plus facile à des concepts de base de programmation.
Sélection et exécution d’un script pour le bot
Windows
Sous Windows, vous l’obtiendrez en ouvrant le menu Démarrer, sur Exécuter, taper ‘cmd’ (ou ‘command.com’ sur les anciennes versions de Windows) dans le champ prévu.
Allez dans le répertoire où vous avez enregistré les fichiers du robot (en utilisant la commande cd). Maintenant vous pouvez exécuter n’importe quel script, en tapant simplement ‘nomduscript.py python.exe’ (si vous avez installé Python dans le même répertoire que pywikipedia) ou ‘nomduscript.py’ suivie par tous les paramètres.
Linux / Unix
Ouvrez un terminal et allez dans le répertoire où vous avez enregistré les fichiers du robot. Maintenant vous pouvez exécuter n’importe quel script ici, en tapant ‘python nomduscript.py’ ou ‘. / Nomduscript.py» suivi des paramètres
Scripts
Avant de travail effectif pour faire le bot exécuter le script login.py. Un mot de passe sera demandé. Utilisez le mot de passe que vous avez choisi lors de la création du compte du bot. Le bot ne peut pas travailler sans être identifiés. Sauf si vous modifiez le mot de passe, vous pourrez normalement lancer ce programme qu’une seule fois, parce que le bot ne pas déconnecter.
Maintenant, vous pouvez utiliser l’un des scripts pour le bot. Voici une liste de scripts (d’autres peuvent apparaître au cours des mises à jour), avec des liens vers leurs descriptions:
Arguments des lignes de commande des scripts
La plupart des scripts pour les bots ont leurs propres arguments de ligne de commande, qui sont expliquées dans leur page de description respectifs (ou code source). Cependant, tous les scripts, à moins que le contraire ne soit expressément indiqué, égalemen
t accepter les arguments suivants:
Par exemple, nomduscript.py python-famille: ScriptName Wiktionnaire lancer le script sur les articles du Wiktionnaire, outrepassant la famille qui a été choisie par défaut dans le fichier de configuration.
Caractéristiques
Syntaxe
Python a été conçu pour être un langage lisible.Il vise à être visuellement propres et des mots fréquemment utilisés en anglais, où d’autres langues de signes de ponctuation, et a aussi moins de constructions que de nombreux langages structurés tels que C, Perl, ou Pascal. Les commentaires sont indiqués par le accolade.
Les blocs sont identifiés par indentation des accolades comme en C ou C, ou commencer … Fin comme en Pascal. Une augmentation de l’indentation marque le début d’un bloc, et une réduction de l’empreinte marque la fin du bloc courant. Les parenthèses sont facultatives dans les structures de contrôle:
types de base
Il est possible de déduire les types de base de classes pour créer votre propre types.We peut également produire ses propres types d’objets sans hériter itérable base itérable en mettant en œuvre le protocole d’itération de la langue.
Programmation fonctionnelle
Python vous permet de programmer dans un style fonctionnel. La compréhension de listes sont disponibles. Par exemple, pour créer la liste des carrés des nombres naturels inférieurs à 10, vous pouvez utiliser l’expression:
lambdas Python admettre que les expressions et peut être utilisé en tant que fonctions généralisées anonyme, mais en Python, toutes les fonctions sont des objets, ils peuvent être passés comme arguments à d’autres fonctions, et a appelé en cas de besoin. En effet, les fonctions définies avec def sont équivalentes à celles définies avec lambda, il est également possible de définir une fonction dans une autre fonction et d’obtenir ainsi une définition de fonction dans une variable locale, par exemple:
POO
programmation objet est très bien supportée par Python: tous les types de base, des fonctions, des instances de classe (les objets ‘classiques’ La C et Java) et les classes elles-mêmes (qui sont des instances de méta-classes) sont des objets.
Une classe est définie avec le mot classe. classes Python charge l’héritage multiple, il n’ya pas de charge statique comme en C, mais le mécanisme d’arguments optionnels et mot-clé est plus général et flexible. En Python, l’attribut d’un objet de référence peut une variable d’instance ou de classe (le plus souvent une méthode). Vous pouvez lire ou modifier un attribut dynamiquement avec les fonctions:
Des méthodes spéciales et la surcharge des opérateurs
Ces méthodes, en commençant et se terminant par deux caractères de soulignement sont appelées lorsque vous utilisez un opérateur sur l’objet:(Méthode __add__) = (__iadd__ méthode), [] (__getitem__ méthode) () (méthode __call__) … Des méthodes telles que __str__ et __repr__, définit la représentation d’un objet dans l’interpréteur interactif et rendu avec le mot-clé print.
Générateurs
Le rendement mot-clé utilisé dans une fonction pour effectuer cette fonction un generator.Calling cette fonction retourne un objet de type générateur, qui peut être utilisé dans une boucle for, par exemple.
Dans chaque appel, le générateur effectue son traitement afin de répondre aux mot-clé yield, renvoie la valeur du rendement d’expression, et le prochain appel, a repris son cours peu de temps après le rendement. Par exemple, pour calculer la suite de Fibonacci, vous pouvez faire:
Un générateur peut sembler identique à une fonction qui retourne une liste, mais contrairement à une liste qui contient tous les éléments d’un générateur calcule ses éléments un par un.
Réflexivité
Par ses nombreux dictionnaires (conteneur associatif mis en œuvre avec les tables de hachage), Python peut explorer les objets dans les différentes langues (introspection) et, dans certains cas de modifier (intercession).
Typage
Typing n’est pas vérifié au moment de la compilation.En conséquence, les opérations sur un objet peut échouer, ce qui signifie que l’objet en question est le type.Despite mal l’absence de typage statique, Python est fortement typé, interdisant les opérations avec peu de sens (comme, par exemple, l’ajout d’un numéro à une chaîne de caractères) au lieu d’essayer de silence le convertir en une forme qui fait sens. Python fournit des fonctions pour convertir des variables dans un autre type:
Compilation
Il est possible d’effectuer une analyse statique des modules Python avec des outils comme pychecker ou pylint. Sans avoir besoin d’une performance, ces outils localiser des défauts ou des structures découragés. Par exemple, une classe qui hérite d’une classe abstraite et ne remplace pas les méthodes abstraites, ou des variables utilisées avant d’être déclaré, ou les attributs d’une instance déclarée hors de la méthode __init__.
Des outils comme PyInstaller ou d’autres plus spécifiques comme Freeze Unix, OS py2exe py2app X et Windows peuvent ‘compiler’ un programme Python comme un programme exécutable et comportant un programme Python interpreter.The ne pas courir plus vite (il n’est pas compilé en code machine), mais il simplifie grandement la distribution, en particulier sur des machines où l’interpréteur Python n’est pas installé.
Object Model
tout Python est un objet dans le sens où une variable peut contenir une référence à tous les produits traités par la langue: les nombres, les méthodes, modules, etc. Toutefois, avant la version 2.2, les classes et les instances de classe était un type d’objet particulier, ce qui signifiait qu’il était impossible par exemple de tirer ses propres sous-catégorie de la liste d’objets.
Méthodes
Le Python Object Model est basé sur celui de Modula-3. Parmi ces prêts est de l’obligation de déclarer l’instance de l’objet, classiquement appelé self comme premier argument de méthodes, et à chaque fois que veut accéder à une instance donnée de ce dans le corps de cette pratique method.This n’est pas naturel pour les programmeurs par exemple de C ou Java, la profusion de soi est souvent critiqué comme une honte que la lecture du code génétique. Les partisans de l’auto explicite croient plutôt que d’éviter l’utilisation de conventions de nommage pour les membres de données et qui simplifie les tâches telles que l’appel d’une méthode de la superclasse ou la résolution de l’homonymie entre les membres de données. Il permet également des méthodes de traitement et de fonctions orthogonales.
Visibilité
La langue est un support très limité pour l’encapsulation. Il n’est pas, comme en java pour contrôle d’accès par exemple, par mots-clés tels que protégés ou privés.
la philosophie de Python est de différencier conceptuellement l’encapsulation de cacher de l’information. Le masquage d’information est de prévenir l’utilisation frauduleuse, il est un sujet de préoccupation pour la sécurité informatique. Le bastion module de la bibliothèque standard, ce qui n’est plus maintenu dans les dernières versions de la langue, contrôlant ainsi l’accès aux attributs d’un objet dans un environnement d’exécution restreint.
L’encapsulation est un problème de développement de logiciels. Le slogan des développeurs Python, c’est que nous sommes tous ici d’adultes (nous sommes entre adultes consentants). Ils estiment qu’il suffit d’indiquer, par des conventions d’écriture, toutes les interfaces utilisateurs et du public à son objection à se conformer à ces accords ou prendre des responsabilités. Il est de coutume de faire précéder par un underscore les membres privés. Le langage permet aussi d’utiliser un double underscore pour éviter les collisions de noms faisant précéder le nom donné automatiquement dans ce
tte classe où elle est définie.
L’utilisation de la fonction de propriété () pour définir des propriétés qui sont destinés à intercepter, en utilisant des méthodes, l’accès à un membre de données. Il est donc inutile de définir une accesseurs systématique et masquage des données comme il est courant de le faire dans l’exemple C.
Héritage
Python supporte l’héritage multiple. Depuis la version 2.3, il utilise la C3 algorithme, de la langue de Dylan, de résoudre l’ordre de résolution de méthode (MRO). Versions précédentes utilisaient un algorithme de parcours en profondeur d’abord qui a été problématique dans le cas de l’héritage de diamants.
Interfaces graphiques
Python dispose de plusieurs modules disponibles pour créer des logiciels avec une interface graphique. La plus courante est Tkinter. Ce module est adapté pour de nombreuses applications et peut être considérée comme satisfaisante dans la plupart des cas. Toutefois, d’autres modules ont été créés pour être en mesure de lien avec les bibliothèques Python autres logiciels (‘boîte à outils») pour plus de fonctionnalités pour une meilleure intégration avec le système d’exploitation, ou tout simplement d’utiliser Python avec sa bibliothèque préférée. En effet, certains programmeurs utilisent Tkinter plus douloureux que d’autres bibliothèques. Ces modules d’autres ne font pas partie de la bibliothèque standard et doit donc être obtenue séparément.
Les principaux modules pour accéder aux bibliothèques sont GUI pour Tk Tkinter, wxPython pour wxWidgets, PyGTK pour GTK, Qt et PyQt PySide, FxPy pour la FOX Toolkit, et PMW pour Mega-widgets, il ya aussi une mise en œuvre de la SDL: Pygame, un liaison de SFML: PySFML et une bibliothèque écrite spécifiquement pour Python: pyglet (fr).
Standard Library
Python a une grande bibliothèque standard, fournissant des outils appropriés pour de nombreuses tâches différentes. Le nombre de modules de la bibliothèque standard peut être augmentée avec des modules spécifiques écrits en C ou Python.
La bibliothèque standard est particulièrement bien conçu pour l’écriture d’applications utilisant l’Internet, avec un grand nombre de formats et de protocoles standards gérés (comme MIME et HTTP). Les modules pour créer des interfaces graphiques et de manipuler des expressions sont également fournis. Python comporte également un framework de tests unitaires afin de créer des suites de tests complets.
L’utilisation d’un bot pour un wiki local
Consultez cette page (en anglais) sur la façon de configurer un bot à utiliser sur votre propre projet en cours d’exécution avec le logiciel mediawiki. ‘
‘