python perl subprocess subprocess.Popen
Verfasst: Donnerstag 22. August 2013, 13:12
Hallo Forum User,
mein erster POST, meine erste Frage
Vorab, ich bin neu auf dem Gebiet!
Ich habe eine CSV-Datei(benutzer.csv) die ich mit Python einlesen möchte, was auch klappt. Im Code unten ist eine auskommentierte Zeile die das ausgibt was in der Datei steht.
Ich muss allerdings ein Perl-Skript verwenden (AddUser.pl) welchem ich 5 variablen übergeben muss. Und das funktioniert irgendwie nicht ...
Wenn ich die Zeile:
ohne die Variablen schreibe, dann bekomme ich keinen Fehler sondern richigerweise eine ausgabe wie in der Shell, ich soll die Argumente mit angeben ...
Hat jemand eine Idee?
mein erster POST, meine erste Frage
Vorab, ich bin neu auf dem Gebiet!
Ich habe eine CSV-Datei(benutzer.csv) die ich mit Python einlesen möchte, was auch klappt. Im Code unten ist eine auskommentierte Zeile die das ausgibt was in der Datei steht.
Ich muss allerdings ein Perl-Skript verwenden (AddUser.pl) welchem ich 5 variablen übergeben muss. Und das funktioniert irgendwie nicht ...
Code: Alles auswählen
pipe = subprocess.Popen(["perl", "./AddUser.pl", stdout=subprocess.PIPE)
Hat jemand eine Idee?
Code: Alles auswählen
#!/usr/bin/python
import csv
import sys
import subprocess
f = open('benutzer.csv', 'rb')
try:
reader = csv.reader(f)
for row in reader:
pipe = subprocess.Popen(["perl", "./AddUser.pl", -l row[0], -f row[1], -p '123', -e row[2], row[3]], stdout=subprocess.PIPE)
# print row[0], row[1], row[2], row[3]
result = pipe.stdout.read()
print result
finally:
f.close()