J'ai remplacé le livre de recettes Windows PowerShell par un script python.

J'aurai besoin de python pour mes futurs travaux, j'ai donc décidé de faire beaucoup de scripts python.

Environnement: python3

Recette 1 Un script qui exécute une commande externe en python

exec_shell.py


# coding: utf-8

"""comment utiliser
exec_shell.Un fichier xml contenant la commande py
Analyser la balise de commande dans le fichier xml qui contient la commande
Script qui exécute la commande analysée
"""

#Importation de module
from subprocess import Popen,PIPE
import xml.etree.ElementTree as et
import sys

#Définition variable
cmdfile=sys.argv[1]
tree=et.parse(cmdfile)
cmd=tree.find(".//code").text

#Définition des fonctions
def main(cmd):
    p=Popen(cmd,shell=True,stdout=PIPE,stderr=PIPE)
    result=p.communicate()
    return result

#Traitement principal
if __name__ == '__main__':
    result=main(cmd)
    print('Résultat de sortie standard: ' + str(result[0]))
    print('Résultat de sortie d'erreur standard: ' + str(result[1]))
    
    

Point 1 Exécution de commandes externes à l'aide du module de sous-processus

À l'heure actuelle, il semble normal d'utiliser le module de sous-processus au lieu d'utiliser "os.commands". Il semble que subprocess.call () ne puisse gérer que la valeur de retour de la commande, je vais donc utiliser Popen.

Point 2 Le résultat de l'exécution de la commande externe est stocké dans le taple.

Dans ce script, le résultat de sortie standard est stocké dans result [0], et le résultat de sortie d'erreur standard est stocké dans result [1].

Commande du point 3 à exécuter

La commande à exécuter, y compris la redirection, est placée dans la variable cmd. Cela signifie que si la commande change, il vous suffit de modifier la variable cmd.

Nous prévoyons d'ajouter un peu plus de gestion des erreurs.

Recommended Posts

J'ai remplacé le livre de recettes Windows PowerShell par un script python.
Création d'un environnement Python 3.6 avec Windows + PowerShell
Un mémo que j'ai touché au magasin de données avec python
J'ai fait une loterie avec Python.
J'ai essayé de remplacer le disque dur Windows 10 par un SSD plus petit
J'ai aimé le tweet avec python. ..
J'ai essayé de changer le script python de 2.7.11 à 3.6.0 sur Windows10
J'ai créé un démon avec Python
Ecrire un script batch avec Python3.5 ~
Je voulais résoudre le problème ABC164 A ~ D avec Python
J'ai fait un compteur de caractères avec Python
J'ai dessiné une carte thermique avec Seaborn [Python]
Rechercher le labyrinthe avec l'algorithme python A *
Exécuter l'interpréteur Python dans le script
J'ai essayé un langage fonctionnel avec Python
Ce que j'ai fait avec les tableaux Python
J'ai fait une carte hexadécimale avec Python
J'ai fait un jeu rogue-like avec Python
J'ai fait un simple blackjack avec Python
J'ai créé un fichier de configuration avec Python
J'ai fait un simulateur de neurones avec Python
J'ai remplacé le calcul numérique de Python par Rust et comparé la vitesse
J'obtiens une erreur Python No module nommée'encodings 'avec la commande aws
J'ai essayé de "lisser" l'image avec Python + OpenCV
[Python] Récupérez les fichiers dans le dossier avec Python
J'ai fait une prévision météo de type bot avec Python.
J'ai créé une application graphique avec Python + PyQt5
J'ai essayé de "différencier" l'image avec Python + OpenCV
J'ai essayé de créer un bloqueur de filles pourries sur Twitter avec Python ①
Je veux faire un jeu avec Python
[Python] J'ai créé un téléchargeur Youtube avec Tkinter.
J'ai essayé de "binariser" l'image avec Python + OpenCV
Je veux écrire dans un fichier avec Python
J'ai fait un jeu de cueillette avec Python
Made Mattermost Bot avec Python (+ Flask)
J'ai fait un script pour enregistrer la fenêtre active en utilisant win32gui de Python
Python à partir de Windows 7
J'ai appris Python avec une belle fille à Paiza # 02
J'ai fait un Twitter BOT avec GAE (python) (avec une référence)
J'ai appris Python avec une belle fille à Paiza # 01
J'ai fait un jeu d'éclairage de sapin de Noël avec Python
J'ai essayé de toucher un fichier CSV avec Python
J'ai essayé de résoudre Soma Cube avec python
J'ai créé une application de notification de nouvelles en ligne avec Python
Faire un point d'arrêt sur la couche c avec python
J'ai créé un environnement Python3 sur Ubuntu avec direnv.
Je veux hériter de l'arrière avec la classe de données python
Remplissez l'arrière-plan d'une seule couleur avec OpenCV2 + Python
Je veux travailler avec un robot en python.
J'ai essayé de faire LINE BOT avec Python et Heroku
J'ai essayé de résoudre le problème avec Python Vol.1
[Piyopiyokai # 1] Jouons avec Lambda: création d'un script Python
Je veux faire fonctionner un ordinateur quantique avec Python
J'ai essayé de frapper l'API avec le client python d'echonest