Traceback (most recent call last):
File "dp_client.py", line 12, in <module>
auswaehlen=int(re.split('^boottime=([0-9]+)D?', Zeile[1])[1])
IndexError: list index out of range
Traceback (most recent call last):
File "dp_client.py", line 12, in <module>
auswaehlen=int(re.split('^boottime=([0-9]+)D?', Zeile[1])[1])
IndexError: list index out of range
Split vergessen, da ist es:
Code:auswaehlen=int(re.split('^boottime=([0-9]+)D?', Zeile.split()[1])[1])
Traceback (most recent call last):
File "dp_client.py", line 12, in <module>
auswaehlen=int(re.split('^boottime=([0-9]+)D?', Zeile.split()[1])[1])
AttributeError: 'list' object has no attribute 'split'
hm nein das will er auch nich
was ich mir halt denk das boottime= 5D das 5 D z.b. is ja nen String warum muss ich da int hinsetzen? oder lieg ich da falsch? gott das tar mit dem update passt auch net er will einzelne Dateien sichern lassen also nen Volles Backup und dann einzelne Daten sichern
int brauchst du, wenn du mit dem Wert rechnen willst, mir ist nicht ganz klar, wofür du das brauchst, aber Zahlen sind normalerwweise zum Rechnen da, in kannst du aber weglassen, wenn du nicht rechnen musst.
Dein Datensatz scheint allerdings etwas merkwürdig zu sein, bist du dir sicher dass boottime=5D in der 2. Zeile steht?
Sonst nimm stattdessen folgendes:
Code:for line in Zeile.split(): if line.strip().startswith("boottime="): auswaehlen=re.split('^boottime=([0-9]+)D?', Zeile.strip().split()[1])[1].strip() break
boottime is ne Variable die mein Arbeitskollege festgelegt hat, die ändert sich ständig deswegen bleibt die 5 auch nie ^^
nur zum rechnen brauch ich sie nicht naja du musst dir so vorstellen
text
Variable= 6D
wenn 6 drin steht
System herunterfahren
wenn 5 drinsteht Sicherung
so wird das gebaut ^^
ich schick dir kurz Private Nachricht ^^
Immer diese Case-Sensitive-Programmierung...Code:auswaehlen=re.split('^boottime=([0-9]+)D?', Zeile.strip().split()[1].lower())[1].strip()
John? du wirst mich hassen...
aber es Funktioniert nich +heul+
+duck+ bitte nich schlagn bin ein ganz braves mädel x)
Iwie hatte ich vergessen Zeile durch line zu ersetzen; wenn das nicht klappt, ist irgendwas kaputt:
Code:for line in Zeile.lower().split(): if line.strip().startswith("boottime="): auswaehlen=re.split('^boottime=([0-9]+)[^0-9]*?$', line.strip())[1]
python dp_client.py
Traceback (most recent call last):
File "dp_client.py", line 12, in <module>
auswaehlen=re.split('^boottime=([0-9]+)D?', Zeile.strip(" ").split()[1].lower())[1].strip
AttributeError: 'list' object has no attribute 'strip'
python dp_client.py
Traceback (most recent call last):
File "dp_client.py", line 12, in <module>
for line in Zeile.lower().split():
AttributeError: 'list' object has no attribute 'lower'
okay ich glaub des wird nix mehr....
weisst du vll ob ich das so machen könnte mit..
trennen das 5D dasteht in ne Datei schreiben nochmal öffnen und nochmal trennen könnte?
das is zwar Sauumständlich aber dann hätt ich nur noch das Sicherungsproblem -.-
readline spckt keinen Stream aus, das war mein Fehler.Code:for line in Zeile: if line.lower().strip().startswith("boottime="): auswaehlen=re.split('^boottime=([0-9]+)[^0-9]*?$', line.lower().strip())[1]
krass du hasts gepackt geil ey jetz muss ich nur noch schauen das er in die schleife von if läuft -.-
Moah ich bin dir So dankbar eig solltest du von meinen job mindestens die hälfte kriegen XD
Aber ich bin dir echt so Dankbar das du immer mir hilfst <3
Derzeitiger Stand der Dinge und er gibt aus print 5 das wars er Arbeitet die Schleife nicht durchCode:#!/bin/sh #! /usr/bin/env python # -*- coding: UTF-8 -*- import linecache import sys, dbus import os import time import subprocess import re datei = open ("dp_clienttask.ini","r") Zeile = datei.readlines() for line in Zeile: if line.lower().strip().startswith("boottime="): auswahl=re.split('^boottime=([0-9]+)[^0-9]*?$', line.lower().strip())[1] datei.close() print auswahl if auswahl == 4 : outfile=open("dp_clienttask.ini","w+") for line in open("dp_clienttasktemp.ini"): line=line.replace ("X","5") outfile.write(line) print line outfile.close() elif auswahl == 5 : #Die Dateien und Verzeichnisse, die gesichert werden sollen, quellen = ['/home/davidlinux/DP',] ziel_verzeichnis = '/etc/dp/Backup' heute = ziel_verzeichnis + time.strftime('%Y%m%d') jetzt = time.strftime('%H%M%S') print 'Sicherung wird gestartet und unter /etc/dp/ gespeichert' print 'Druecken Sie 2Mal STRG + C um die Sicherung abzubrechen' #Erzeuge Ordner wenn dieser noch nicht Existiert mit heutigem Datum: #Erzeuge Ordner wenn dieser noch nicht Existiert mit heutigem Datum: if not os.path.exists(heute): os.mkdir(heute) # erzeuge das Verzeichnis print 'Verzeichnis' , heute, 'erfolgreich angelegt' # Der Name der Tar-Datei: ziel = heute + os.sep + jetzt + '.tar' tar_befehl = 'tar -czf %s %s' % (ziel, ' '.join(quellen)) os.system(tar_befehl) tar_befehle = 'tar -uf /etc/dp/Backups' os.system(tar_befehle) quellen = ['/home/davidlinux/DP',] listing=os.listdir('/etc/dp/') listing.sort() ziel = heute + os.sep + jetzt + '.tar' tar_befehl = 'tar -rzf %s %s' % (listing[-1], ' '.join(quellen)) os.system(tar_befehl) # Sicherung starten try: while True: exitstatus=os.system(tar_befehl) if exitstatus == 0: print 'Erfolgreiche Sicherung nach "%s"' % ziel else: print 'Sicherung fehlgeschlagen! (Statuscode: %d)' % exitstatus ans=raw_input("Aktion wird abgebrochen! (Bitte Druecken Sie Enter!): ").lower print 'Sicherung abgebrochen' break except KeyboardInterrupt: print "Sicherung beendet" elif auswahl == 2 : def shutdown(): bus = dbus.SystemBus() try: remote_object = bus.get_object('org.freedesktop.Hal', '/org/freedesktop/Hal/devices/computer') props = remote_object.Shutdown(dbus_interface='org.freedesktop.Hal.Device.SystemPowerManagement') except dbus.exceptions.DBusException, e: print e if __name__ == "__main__": shutdown()
Lesezeichen