Guten Morgen,
um meine Python-Kenntnisse aufzufrischen, habe ich ein kleines Skript geschrieben, welches ICMP-Requests an einen Host sendet und die Ausgabe statt auf STDOUT in eine Variable schreibt. In einem zweiten Schritt werden wieder ICMP-Requests versendet. Doch diesmal wird die Ausgabe in eine Datei geschrieben.
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 | #!/usr/bin/python # -*- coding: utf-8 -*- import argparse, subprocess def icmp(host): """ Diese Prozedur sendet einige ICMP-Pakete an einen Host. """ ping_result = subprocess.check_output(["ping", "-c 4", host]) return ping_result parser = argparse.ArgumentParser(description=" test.py") parser.add_argument("-H", "--Host", dest="Host", required=False) args = parser.parse_args() host = args.Host print "Ausgabe der ICMP-Requests:" print(icmp(host)) f = open('workfile', 'a') f.write(icmp(host)) f.close() f = open('workfile', 'r') #output = f.readlines() print "Ausgabe der Datei:" for line in f.readlines(): print(line) f.close() |
Gebe ich Variable und Dateiinhalt aus, fällt mir auf, dass bei der Dateiausgabe nach jeder Zeile zwei Zeilenumbrüche ausgegeben werden. Ich möchte jedoch nur einen Zeilenumbruch nach dem ausgegebenen Text haben.
Könnt ihr mir einen Tipp geben, wie man das macht?
MfG
Tronde