Aufgabe für Programmieranfänger

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
aibo
User
Beiträge: 3
Registriert: Montag 31. März 2014, 14:00

Hallo liebes Forum,

um die Grundlagen der Python-Programmierung für Neulinge zu festigen, habe ich mir eine kleine Aufgabe ausgedacht.

1. Erstelle eine Textdatei "files.txt"
In dieser Datei sind Pfade hinterlegt, die zu Dateien führen.
Bsp:
C:\programming\pic1.jpg
C:\programming\pic2.jpg
C:\programming\pic3.jpg
C:\programming\pic4.jpg
...
...

2. Auslesen dieser Text-Datei mit diversen Methoden aus Python.
3. Dateien ins aktuelle Verzeichnis kopieren. (Passende Methode siehe hierzu die Python-Dokumentation).
4. Aus diesen Dateien ein Zip-File erstellen.
5. Dateien (Schritt 3) aus dem aktuellen Verzeichnis wieder löschen.

Ziel: Die Dateien, welche in der "files.txt" hinterlegt sind, sollen in einer zip-Datei auftauchen.

Viel Spaß bei der Aufgabe

Mit freundlichen Grüßen

Aibo
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

@aibo: bei Aufgaben frag ich mich auch immer, macht es Sinn, sowas zu tun. Es fehlt also noch etwas, das bei einem normalen "zip"-Aufruf nicht so einfach möglich ist. Was bring Schritt 3, wenn in Schritt 5 die Dateien wieder gelöscht werden? Entweder ist das ein Implementierungsdetail, das es nötig macht, alle Dateien in ein Verzeichnis zu kopieren (weil man z.B. die zip-Dokumentation nicht lesen kann), dann brauch ich es aber nicht in die Aufgabenbeschreibung zu schreiben, oder es ist eine zusätzliche Anforderung an das Programm, auch alle Dateien zu sammeln, dann darf ich sie aber in Schritt 5 nicht wieder löschen.
Boa
User
Beiträge: 190
Registriert: Sonntag 25. Januar 2009, 12:34

Anfänger ein Programm schreiben zu lassen in dem Dateien gelöscht werden halte ich für eine schlechte Idee. Außer du baust darauf, dass sie die Lektion gelernt haben eine Nachfrage vor dem Löschen einzubauen, nachdem sie versehentlich die eigene Festplatte von ihrer Last befreit haben.
Da würde ich Sirius3s Methode vorziehen.
aibo
User
Beiträge: 3
Registriert: Montag 31. März 2014, 14:00

Mein Gott,

ihr verderbt mir echt die Lust auf dieses Forum. Sobald was gepostet wird, wird direkt alles kritisiert, anstatt es einfach mal auf sich wirken zu lassen. Ich kann auch nichts dafür, dass ihr als Kinder keine Liebe von euren Eltern bekommen habt.
Boa
User
Beiträge: 190
Registriert: Sonntag 25. Januar 2009, 12:34

Oha, ich wollte dir nicht auf die Füße treten. Ich mache mir bestimmt nicht die Mühe konstruktive Kritik anzubringt nur um dir die Laune zu verderben. Mit dieser Grundeinstellung wirst du in einem Forum wohl wirklich keinen Spaß haben. Mein Beitrag mit dem versehentlichen Löschen von Dateien war eher selbstironisch als sarkastisch gemeint, weil ich in dem Punkt selbst Mal eine schlechte Erfahrung gemacht habe, von der ich nicht möchte, dass sie hier jemand teilen muss.
Andererseits hast du recht, dass man den Foren Mitgliedern für ihren uneigennützen Einsatz hier desöfteren Mal ein Lob aussprechen sollte.
Also lass dich nicht unterkriegen und weiter so ;)
Sirius3
User
Beiträge: 17741
Registriert: Sonntag 21. Oktober 2012, 17:20

@aibo: ich lasse es auf mich wirken und meiner Meinung nach, gibt es ein paar Ecken, und dann schreibe ich meine Gedanken dazu auf. Warum hast Du die Aufgabe gepostet? Damit wir uns Gedanken darum machen. Bis Du der Anfänger, oder willst Du Anfängern diese Aufgabe stellen? Bei ersterem kannst Du meine Gedanken einfach ignorieren, dann bleibt die Frage, warum postest Du sie überhaupt, im zweiten Fall sollten gerade Anfänger Aufgaben ohne all zu spitzen Ecken haben.
BlackJack

@aibo: Letztendlich fordert die Aufgabenstellung dazu auf Dateien im aktuellen Arbeitsverzeichnis zu überschreiben und dann zu löschen. Wenn in der Datei Namen stehen, die auch im aktuellen Verzeichnis vorkommen, dann werden die überschrieben. Ich weiss nicht ob das jedem Anfänger klar ist.

Und wenn der Benutzer sich in dem Verzeichnis befindet in dem die Dateien aus der Textdatei stehen, dann löscht er die! Dann muss er hoffen dass das ZIP erstellt wurde *und* dass beim vorherigen kopieren der Dateien in sich selbst keine Dateien mit 0 Bytes produziert wurde. Wenn die Anfänger die entsprechende Bibliotheksfunktion nicht finden und das kopieren selber implementieren werden erfahrungsgemäss viele diesen Sonderfall nicht berücksichtigen und dabei den Dateiinhalt löschen.
Antworten