Notes sur l'utilisation de sous-processus Python

Je veux faire diverses choses avec la pipe. C'était étonnamment difficile. ..

    def _transrate(trans_opt):
        """
Traduction
        """
        # import locale
        # enc = locale.getpreferredencoding()
        # env['PYTHONIOENCODING'] = enc
        command0 = '/usr/bin/pbpaste'
        command1 = '/usr/local/bin/trans' + trans_opt
        command2 = '/usr/bin/pbcopy'
        env = os.environ.copy()
        env["PATH"] = "/usr/bin:/usr/local/bin/:" + env['PATH']
        # command0
        process0 = subprocess.Popen(shlex.split(
            command0), stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=env)
        process0.wait()  # wait()Est une mise en œuvre simple
        # command1
        process1 = subprocess.Popen(shlex.split(
            command1), stdin=process0.stdout, stdout=subprocess.PIPE, env=env)
        process1.wait()  # wait()Est une mise en œuvre simple
        # Allow ps_process to receive a SIGPIPE if grep_process exits.
        process0.stdout.close()
        # command2
        process2 = subprocess.Popen(shlex.split(
            command2), stdin=process1.stdout, stdout=subprocess.PIPE, env=env)
        process2.wait()  # wait()Est une mise en œuvre simple
        # Allow ps_process to receive a SIGPIPE if grep_process exits.
        process1.stdout.close()
        # Allow ps_process to receive a SIGPIPE if grep_process exits.
        process2.stdout.close()

        """
notification
        """
        process0 = subprocess.Popen(shlex.split(
            command0), stdout=subprocess.PIPE, stderr=subprocess.PIPE, env=env)
        process0.wait()  # wait()Est une mise en œuvre simple
        output = process0.communicate()[0].decode('utf-8')
        process0.stdout.close()
        command3 = '/usr/bin/osascript -e \'display notification "'+output+'" with title "Traduction"\''
        subprocess.Popen(shlex.split(command3), env=env)

    def transrate_j2e():
        """
Traduction
        """
        _transrate(' -b ja:en')
    def transrate_e2j():
        """
Traduction
        """
        _transrate(' -b en:ja')

Recommended Posts

Notes sur l'utilisation de sous-processus Python
Remarques sur l'utilisation de MeCab depuis Python
Remarques sur l'installation de Python à l'aide de PyEnv
Notes sur l'utilisation de rstrip avec python.
Mémo de raclage Python
Note d'apprentissage Python_000
Notes de débutant Python
Note d'apprentissage Python_006
Commencez à utiliser Python
Note d'apprentissage Python_005
Notes de grammaire Python
Note sur la bibliothèque Python
Scraping à l'aide de Python
mémo pandas python
Note d'apprentissage Python_001
notes d'apprentissage python
Notes d'installation de Python3.4
Remarques sur l'utilisation d'OpenCV avec Windows10 Python 3.8.3.
Notes utilisant cChardet et python3-chardet dans Python 3.3.1.
Remarques sur l'utilisation de python (pydev) avec eclipse
Manipuler Redmine à l'aide de Python Redmine
notes personnelles en python manquantes
Séquence de Fibonacci utilisant Python
Notes de développement de package Python
Remarques sur l'utilisation de dict avec python [Competition Pro]
notes d'utilisation du décorateur python
Mémo du package d'adresse IP Python
Utilisation des packages Python #external
Notes sur le format Python Pickle
Câblage Communication Pi-SPI avec Python
Premier mémo divers sur Python
Calcul de l'âge à l'aide de python
Matlab => Notes de migration Python
Rechercher sur Twitter avec Python
Remarques sur l'affectation Python3
Identification de nom à l'aide de python
Remarques sur l'utilisation d'Alembic
Essayez d'utiliser Tweepy [Python2.7]
Python essayer / sauf mémo
Notes sur le flacon de framework Python
[Python] Remarques sur l'accélération des algorithmes génétiques à l'aide du multitraitement
Notes minimales lors de l'utilisation de Python sur Mac (édition Homebrew)
Aplatir à l'aide du rendement Python de
Scraping à l'aide de Python 3.5 async / await
Enregistrer des images à l'aide de requêtes python3
[S3] CRUD avec S3 utilisant Python [Python]
Mémo d'apprentissage O'Reilly python3 Primer
[Python] Essayez d'utiliser le canevas de Tkinter
Utilisation de Quaternion avec Python ~ numpy-quaternion ~
Remarques sur l'utilisation du test unittest standard Python
Notes Python à oublier bientôt
python * args, ** kwargs Notes d'utilisation
Essayez d'utiliser Kubernetes Client -Python-
Notes sur l'expression régulière de la théorie Python
[Python] Utilisation d'OpenCV avec Python (basique)
[Django] Remarques sur l'utilisation de django-debug-toolbar