Durchsuchen und öffnen jeder Datei in einem riesiegen Verzeichnis.
Verfasst: Freitag 10. Januar 2020, 12:39
Guten Morgen Python Forum.
Ich möchte euch erst einmal ein wenig zu meiner Person und meinem Problem erzählen, weil es höchst wahrscheinlich sowieso zu diesen Fragen kommen wird.
Ich bin neuer Informatikstudent. Ich bin nicht hier um meine Hausaufgaben von euch lösen zu lassen, wie es hier mehrmals angesprochen wurde.^^ Mein Problem hat nichtmal direkt etwas mit meinem Studium zu tun.
Beim Eintritt in mein Informatikstudium, dass ich zur Überbrückung benutze bis meine Ausbildung zum Fachinformatiker Systemintegration im kommenden Jahr beginnt, habe ich mir gedacht es wäre ine gute Idee schonmal praktische Erfahrung im Bereich IT zu sammeln und habe mich bei einem Unternehmen als IT Trainee anstellen lassen.
Meine Aufgabe in diesem Unternehmen ist es neben einem guten Einblick in die IT zu bekommen, mich um ein Verzeichnis zu kümmern, welches im Zuge eines Serverabsturzes Datenverluste erlitten hat.
"Kann man doch einfach das Backup nutzen und neu aufspielen" sagen mir alle Leute in dien Foren. Dem stimme ich auch vollkommen zu, aber leider ist die Situation in diesem Unternehmen eine etwas kompliziertere.
Das Unternehmen ist eine Tochter des Mutterkonzerns in Asien, der Jahrelang ignoriert hat, wie veraltet die Server, Festplatten ... eigentlich alles an der Hardware geworden ist. Das Risiko eines Datenverlustes wurde immer größer bis es zu dem Knall kam. Es gab keine Backups mehr. Keine Server oder irgendwas. Die Kosten der Datenwiederherstellung von 50k wurden abgewiesen. Es wurde mit den Daten weitergearbeitet die übrig waren.
Und über Zeit einfach aussortiert welche Daten beschädigt waren und welche nicht.
Konkret habe ich ein Verzeichnis welches auf Fehler überprüft werden muss. Jede Datei muss geöffnet, geschlossen und markiert werden ob sie funktioniert oder nicht. Das ist alles. Hierfür wurde mir eine Excel Tabelle mit einem Link zu jeder Datei gegeben, dem dazugehörigen Pfad und einem Feld in dass ich reinschreibe ob die Datei intakt ist oder nicht. Intakt sei hierbei wie folgt definiert: Lässt sich die Datei mit dem Standardprogramm öffnen oder nicht. Die Kollegen, welche mit den Dateien arbeiten müssen, unterscheiden nicht ob ich auf die Datei zugreifen kann, ob mein Programm sie überhaupt findet etc. für sie ist es einfach wichtig ob sie sich öffnen lässt. Was ja automatisch impliziert, dass die Datei da ist und so. So klicke ich mich 6 Stunden am Stück, 3 Stunden die Woche durch eine nie endende Liste. Es sind by the way 560GB mit insgesamt 1,7 Millionen Dateien. Ja klar könnte ich diesen Job stumpf machen, mich bezahlen lassen, nichts lernen und am Ende mit einer Sehnenscheidentzündung das Unternehmen verlassen. Hab ich aber keinen Bock drauf. Also habe ich meinen IT Boss gefragt, der selbst nicht programmieren kann, ob ich einen Teil meiner Zeit an einem Programm arbeiten darf. Ich darf und jetzt sitze ich da. Ich mag es mich mit Programmieren auseinanderzusetzen. Es ist ein kleines Hobby von mir, aber ich stehe im Vergleich zu einem wirklichen Programmierer in den Kinderschuhen.
Ich habe mir nun überlegt wie ich das Programm angehen kann und bin zu folgendem Lösungsansat gekommen. Wenn ihr andere Ansätze habt, immer raus damit.
Ich habe das Verzeichnis mit allen Dateien an einem Ort.
Also schreibe ich erstmal ein Programm, welches eine Liste von allen Dateien und ihren Pfaden erstellt. Das ist bereits erledigt. Den Link zum Code füge ich euch gerne unten ein.
Danach sortiere ich die Dateien nach Endungen und schreibe ein Programm welches jede Datei, wie ein Client mit dem jeweiligen Standardprogramm öffnet. Beispielsweise PDF Dateien mit Adobe Reader, doc mit Word und so weiter.
Was haltet ihr von dieser herangehensweise.
Habt ihr Gegenvorschläge, Nachfragen ?
Ich freue mich auf eure Nachrichten.
CODE zum erstellen einer Liste aller Dateien:
https://0bin.net/paste/z8weDLmSKK-opNyA ... rioFEoTKAF
Ich möchte euch erst einmal ein wenig zu meiner Person und meinem Problem erzählen, weil es höchst wahrscheinlich sowieso zu diesen Fragen kommen wird.
Ich bin neuer Informatikstudent. Ich bin nicht hier um meine Hausaufgaben von euch lösen zu lassen, wie es hier mehrmals angesprochen wurde.^^ Mein Problem hat nichtmal direkt etwas mit meinem Studium zu tun.
Beim Eintritt in mein Informatikstudium, dass ich zur Überbrückung benutze bis meine Ausbildung zum Fachinformatiker Systemintegration im kommenden Jahr beginnt, habe ich mir gedacht es wäre ine gute Idee schonmal praktische Erfahrung im Bereich IT zu sammeln und habe mich bei einem Unternehmen als IT Trainee anstellen lassen.
Meine Aufgabe in diesem Unternehmen ist es neben einem guten Einblick in die IT zu bekommen, mich um ein Verzeichnis zu kümmern, welches im Zuge eines Serverabsturzes Datenverluste erlitten hat.
"Kann man doch einfach das Backup nutzen und neu aufspielen" sagen mir alle Leute in dien Foren. Dem stimme ich auch vollkommen zu, aber leider ist die Situation in diesem Unternehmen eine etwas kompliziertere.
Das Unternehmen ist eine Tochter des Mutterkonzerns in Asien, der Jahrelang ignoriert hat, wie veraltet die Server, Festplatten ... eigentlich alles an der Hardware geworden ist. Das Risiko eines Datenverlustes wurde immer größer bis es zu dem Knall kam. Es gab keine Backups mehr. Keine Server oder irgendwas. Die Kosten der Datenwiederherstellung von 50k wurden abgewiesen. Es wurde mit den Daten weitergearbeitet die übrig waren.
Und über Zeit einfach aussortiert welche Daten beschädigt waren und welche nicht.
Konkret habe ich ein Verzeichnis welches auf Fehler überprüft werden muss. Jede Datei muss geöffnet, geschlossen und markiert werden ob sie funktioniert oder nicht. Das ist alles. Hierfür wurde mir eine Excel Tabelle mit einem Link zu jeder Datei gegeben, dem dazugehörigen Pfad und einem Feld in dass ich reinschreibe ob die Datei intakt ist oder nicht. Intakt sei hierbei wie folgt definiert: Lässt sich die Datei mit dem Standardprogramm öffnen oder nicht. Die Kollegen, welche mit den Dateien arbeiten müssen, unterscheiden nicht ob ich auf die Datei zugreifen kann, ob mein Programm sie überhaupt findet etc. für sie ist es einfach wichtig ob sie sich öffnen lässt. Was ja automatisch impliziert, dass die Datei da ist und so. So klicke ich mich 6 Stunden am Stück, 3 Stunden die Woche durch eine nie endende Liste. Es sind by the way 560GB mit insgesamt 1,7 Millionen Dateien. Ja klar könnte ich diesen Job stumpf machen, mich bezahlen lassen, nichts lernen und am Ende mit einer Sehnenscheidentzündung das Unternehmen verlassen. Hab ich aber keinen Bock drauf. Also habe ich meinen IT Boss gefragt, der selbst nicht programmieren kann, ob ich einen Teil meiner Zeit an einem Programm arbeiten darf. Ich darf und jetzt sitze ich da. Ich mag es mich mit Programmieren auseinanderzusetzen. Es ist ein kleines Hobby von mir, aber ich stehe im Vergleich zu einem wirklichen Programmierer in den Kinderschuhen.
Ich habe mir nun überlegt wie ich das Programm angehen kann und bin zu folgendem Lösungsansat gekommen. Wenn ihr andere Ansätze habt, immer raus damit.
Ich habe das Verzeichnis mit allen Dateien an einem Ort.
Also schreibe ich erstmal ein Programm, welches eine Liste von allen Dateien und ihren Pfaden erstellt. Das ist bereits erledigt. Den Link zum Code füge ich euch gerne unten ein.
Danach sortiere ich die Dateien nach Endungen und schreibe ein Programm welches jede Datei, wie ein Client mit dem jeweiligen Standardprogramm öffnet. Beispielsweise PDF Dateien mit Adobe Reader, doc mit Word und so weiter.
Was haltet ihr von dieser herangehensweise.
Habt ihr Gegenvorschläge, Nachfragen ?
Ich freue mich auf eure Nachrichten.
CODE zum erstellen einer Liste aller Dateien:
https://0bin.net/paste/z8weDLmSKK-opNyA ... rioFEoTKAF