Frage

Ich möchte Ironpython und Mono einen Versuch geben. Insbesondere Sysadmin Aufgaben. Was bedeutet oft mit OS-Befehle. In CPython verwende ich das Subprozess Modul für solche Aufgaben. Aber in Ironpython (v2.0.1, Mono 2.4, Linux) gibt es kein Subprozess-Modul. Es scheint, dass es nicht einmal ein ‚o‘ -Modul ist. So kann ich nicht verwenden os.system (). Was wäre der Weg Ironpython Aufgaben zu tun, die Sie normalerweise ‚subprocess‘ benutzen würde oder ‚os.system ()‘ für in CPython?

War es hilfreich?

Lösung

Ich habe eine Antwort gefunden. Dank des „Ironpython-Kochbuch“. Man kann mehr Informationen zu diesem Thema findet dort: http://www.ironpython.info/index.php/Launching_Sub-Processes

>>> from System.Diagnostics import Process
>>> p = Process()
>>> p.StartInfo.UseShellExecute = False
>>> p.StartInfo.RedirectStandardOutput = True
>>> p.StartInfo.FileName = 'uname'
>>> p.StartInfo.Arguments = '-m -r'
>>> p.Start()
True
>>> p.WaitForExit()
>>> p.StandardOutput.ReadToEnd()
'9.6.0 i386\n'
>>> p.ExitCode
0
>>> 

Andere Tipps

Sie können von innen Iron die meisten der Standard-OS-Module verwenden.

import sys
sys.path.append path('...pathtocpythonlib......')
import os

Betrachten Sie diese C # Interactive Shell zu .... nicht sicher, ob es IronPhython in der Schale, aber Mono tut, wie Sie wissen, unterstützt.

Es ist ein Teil subprocess Modul Implementierung hier:

http://www.bitbucket.org/jdhardy/code /src/tip/subprocess.py

Das Modul (zu diesem Zeitpunkt, Juni 2010) wird unterstützt nur STDIO Rohre Umleitung (wie in, können Sie Ihre eigene Datei ähnliche Objekte nicht schaffen, mit Ausgang zu füllenden oder zu streamen intput), aber die Grundlagen sind genug, um durch.

Lizenziert unter: CC-BY-SA mit Zuschreibung
Nicht verbunden mit StackOverflow
scroll top