Dateien Kopieren ?

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.
stingi
User
Beiträge: 9
Registriert: Samstag 24. September 2016, 01:11
Wohnort: Hamburg

Hallo,

Bin neu hier, und fange grade mit Python an die Version ist 3.5.2. für Windows 7 64bit

Ich habe mir schon viel an geschaut.

Nur eine frage bleibt immer noch offen, und zwar:

Wie schaffe ich das in Python 3.5 Dateien zu kopieren, z.B:

Von : C:\Users\Stingi-Büro\Downloads\test.txt nach C:\Users\Stingi-Büro\Bilder\test.txt

Ich habe auch schon viel selber Probiert, aber bekomme es nicht hin.

Oder liegt es vielleicht da dran das ich nicht das richtige Module drin habe? :idea:
Sirius3
User
Beiträge: 17754
Registriert: Sonntag 21. Oktober 2012, 17:20

@stingi: eine Datei kopieren heißt ja nichts anderes, als eine Datei zum Lesen und eine andere zum Schreiben zu öffnen und dann den Inhalt blockweise zu lesen und zu schreiben. Das sollte mit dem Kapitel zu Dateioperationen machbar sein.

Natürlich gibt es das auch schon fertig im shutil-Modul.
stingi
User
Beiträge: 9
Registriert: Samstag 24. September 2016, 01:11
Wohnort: Hamburg

Sirius3 hat geschrieben:@stingi: eine Datei kopieren heißt ja nichts anderes, als eine Datei zum Lesen und eine andere zum Schreiben zu öffnen und dann den Inhalt blockweise zu lesen und zu schreiben. Das sollte mit dem Kapitel zu Dateioperationen machbar sein.

Natürlich gibt es das auch schon fertig im shutil-Modul.
Hi,

Wenn du vielleicht ein Code dafür hättest den wäre es auch gut.
BlackJack

@stingi: Mit dem „Kapitel zu Dateioperationen“ meinte Sirius3 den entsprechenden Teil im Tutorial in der Python-Dokumentation. Und auch das `shutil`-Modul ist Bestandteil der Python-Standardbibliothek und ist deshalb auch in der Python-Dokumentation beschrieben. Welche konkreten Probleme hast Du denn mit dem Modul oder damit das selbst zu programmieren?
stingi
User
Beiträge: 9
Registriert: Samstag 24. September 2016, 01:11
Wohnort: Hamburg

BlackJack hat geschrieben:@stingi: Mit dem „Kapitel zu Dateioperationen“ meinte Sirius3 den entsprechenden Teil im Tutorial in der Python-Dokumentation. Und auch das `shutil`-Modul ist Bestandteil der Python-Standardbibliothek und ist deshalb auch in der Python-Dokumentation beschrieben. Welche konkreten Probleme hast Du denn mit dem Modul oder damit das selbst zu programmieren?
den Tip von @Sirius3 habe ich berücksichtigt, aber irgendwie klappt es nicht bekomme immer Fehler.

Habe vor langer langer Zeit mal AREXX auf dem Amiga gemacht, und mir da ein Programm geschrieben das Dateien Kopiert die in einer config.txt standen was kopiert werden sollte.

Die txt Datei würde rein gelesen und die Pfade da raus gelesen die kopiert werden sollten und in einen anderen Ordner kopiert.

Habe den Code vorliegen, sieht aber leichter aus als Python.

Ich möchte doch nur eine Datei von: a: nach b: kopieren :K
BlackJack

@stingi: Das ist jetzt aber kein konkretes Problem. Ich habe irgendwas gemacht und bekam irgendwelche Fehler ist keine Grundlage auf der man jetzt sagen könnte was Du falsch gemacht hast. Nur eine Datei von A nach B kopieren ist mit dem `shutil`-Modul sehr einfach — wenn man die Grundlagen von Python gelernt hat, und das musst Du schon selber tun, das kann Dir keiner abnehmen.

Das kopieren einer Datei ist dermassen einfach, dass zumindest ich leichte Probleme habe zu glauben, dass Du Dich da wirklich ernsthaft mit auseinandergesetzt hast, sondern einfach nur hoffst, dass das jemand anders für Dich macht. Ansonsten könntest Du ja mal zeigen was Du versucht hast, mit einer Erklärung warum Du glaubst, dass das so gehen müsste, und einer exakten Fehlerbeschreibung. Also bei Ausnahmen zum Beispiel eine 1:1 Kopie des Tracebacks. Ansonsten eine Beschreibung was passiert und wie das von Deiner Erwartung abweicht.
stingi
User
Beiträge: 9
Registriert: Samstag 24. September 2016, 01:11
Wohnort: Hamburg

BlackJack hat geschrieben:@stingi: Das ist jetzt aber kein konkretes Problem. Ich habe irgendwas gemacht und bekam irgendwelche Fehler ist keine Grundlage auf der man jetzt sagen könnte was Du falsch gemacht hast. Nur eine Datei von A nach B kopieren ist mit dem `shutil`-Modul sehr einfach — wenn man die Grundlagen von Python gelernt hat, und das musst Du schon selber tun, das kann Dir keiner abnehmen.

Das kopieren einer Datei ist dermassen einfach, dass zumindest ich leichte Probleme habe zu glauben, dass Du Dich da wirklich ernsthaft mit auseinandergesetzt hast, sondern einfach nur hoffst, dass das jemand anders für Dich macht. Ansonsten könntest Du ja mal zeigen was Du versucht hast, mit einer Erklärung warum Du glaubst, dass das so gehen müsste, und einer exakten Fehlerbeschreibung. Also bei Ausnahmen zum Beispiel eine 1:1 Kopie des Tracebacks. Ansonsten eine Beschreibung was passiert und wie das von Deiner Erwartung abweicht.
Hier mal ein Beispiel:
import shutil
import os.path

ori='D:\test.txt'
kopie='E:\kopie.txt'

shutil.copy(ori,kopie)

Funzt aber nicht.

Ist das so schlimm wenn mir mal einer ein Code oder Text schreiben könnte wie genau es geht, als immer Texte zu schreiben , Lerne dies , Lese das usw. , wenn man das alles schon könnte den wprde man hier ja nicht schreiben und fragen oder ?

Also ich für mein Teil hätte keine Probleme einen das zu zeigen, und zu schreiben wie es geht oder aus sehen sollte.

Ich hätte nicht einmal das Problem wenn einer mich fragen würde ob ich Ihn Helfen kann den Anhänger vom PKW oder LKW in einer Lücke rein zu fahren, entweder würde ich ihnen das zeigen wie es geht oder ihn dabei die Lenkbewegungen zeigen damit des klappt und dann kann er es gleich am Beispiel gelernen.

Ich bin halt ein Mensch der am Beispiele mehr lernt als von Texte aus dem Buch oder vom Inet.
Zuletzt geändert von stingi am Samstag 24. September 2016, 20:55, insgesamt 1-mal geändert.
BlackJack

@stingi: Hättest Du das gleich gezeigt, hätte man Dir gleich sagen können das bestimmte Zeichen in literalen Zeichenketten eine besondere Bedeutung haben. Dazu gehört auch die Zeichenfolge '\t' die *ein* Zeichen ist, nämlich das Tabulatorzeichen. Deshalb musst Du entweder '/' als Pfadtrenner verwenden, oder das '\' durch einen weiteren '\' ”entwerten”, also '\\t' schreiben, was dann zwei Zeichen sind — ein \ gefolgt von einem t — oder ein ”raw” Zeichenkettenliteral schreiben. Auch wenn das bei '\k' nicht notwendig ist, weil diese beiden Zeichen zusammen keine besondere Bedeutung haben, sollte man das einheitlich machen. Dann muss man nicht jedes mal überlegen ob man den \ besonders behandeln muss oder nicht.

War das jetzt so schlimm mal den konkreten Code zu zeigen? Das nächste mal dann noch den Fehler beschreiben, beziehungsweise in diesem Fall die Ausnahme + Traceback zeigen. Du musst halt eindeutig noch lernen wie man Fragen richtig stellt: https://tty1.net/smart-questions_de.html

Du wolltest nicht das man Dir zeigt wie man einparkt, Du hast danach gefragt das jemand für Dich einparkt.
stingi
User
Beiträge: 9
Registriert: Samstag 24. September 2016, 01:11
Wohnort: Hamburg

BlackJack hat geschrieben:@stingi: Hättest Du das gleich gezeigt, hätte man Dir gleich sagen können das bestimmte Zeichen in literalen Zeichenketten eine besondere Bedeutung haben. Dazu gehört auch die Zeichenfolge '\t' die *ein* Zeichen ist, nämlich das Tabulatorzeichen. Deshalb musst Du entweder '/' als Pfadtrenner verwenden, oder das '\' durch einen weiteren '\' ”entwerten”, also '\\t' schreiben, was dann zwei Zeichen sind — ein \ gefolgt von einem t — oder ein ”raw” Zeichenkettenliteral schreiben. Auch wenn das bei '\k' nicht notwendig ist, weil diese beiden Zeichen zusammen keine besondere Bedeutung haben, sollte man das einheitlich machen. Dann muss man nicht jedes mal überlegen ob man den \ besonders behandeln muss oder nicht.

War das jetzt so schlimm mal den konkreten Code zu zeigen? Das nächste mal dann noch den Fehler beschreiben, beziehungsweise in diesem Fall die Ausnahme + Traceback zeigen. Du musst halt eindeutig noch lernen wie man Fragen richtig stellt: https://tty1.net/smart-questions_de.html

Du wolltest nicht das man Dir zeigt wie man einparkt, Du hast danach gefragt das jemand für Dich einparkt.
Hättest doch auch nur schreiben können das ich das Zeichen um drehen soll ( \ in / ) das wäre den kürzer gewesen :)

Und jetzt funzt es, trotzdem danke fürs schreiben.

Den mal eine frage an dich, kannst du mir den Anhänger einpacken ? :roll: vom LKW , nein keine Angst das mache ich schon.

Aber vielleicht kannst mir mal bitte beim ein parken helfen, und zwar wie kann ich z.B. den Kopier Pfad aus einer Text Datei aus lesen und den auf einer anderen HD kopieren.

Beispiel:

In der Text Datei steht:

c:/test.txt
c:/Download/test.txt
harryberlin
User
Beiträge: 227
Registriert: Donnerstag 17. Dezember 2015, 12:17

deine Lösung ist unter Umständen nicht immer die Lösung.
mit os.path.join() bist da auf der besseren seite.

btw.
black jack ist einer der es wirklich drauf hat und er kann sichs leider leisten uns so zu belehren.
empty Sig
stingi
User
Beiträge: 9
Registriert: Samstag 24. September 2016, 01:11
Wohnort: Hamburg

harryberlin hat geschrieben:deine Lösung ist unter Umständen nicht immer die Lösung.
mit os.path.join() bist da auf der besseren seite.

btw.
black jack ist einer der es wirklich drauf hat und er kann sichs leider leisten uns so zu belehren.
okay, danke für den TIP, den werde ich das den mal so probieren.

Ob er es sich leisten kann oder nicht, das steht hier aber nicht zur Sache.

Den hätte er doch ein Code,Text hier rein schreiben können wie es geht wenn er so gut ist, aber nein es kam das Wort zum Sonntag.

Ich laufe auch nicht durch die Gegend und belehre andere wenn die nicht Parken können oder mach da einen auf "DerGroßeeinParkGott"

Es gibt solche und solche Menschen, wären wir alle gleich den würde auch keiner den anderen fragen um Hilfe den könnte man ja alles.

Ich finde es nur traurig das den von so manchen getan wird als wenn die den was besseres wären oder sind, die vergessen das die auch mal klein angefangen haben.

Also ich für meinen Teil habe auf sowas keine Lust, und vielleicht liegt es auch da dran das hier so wenig los ist im Forum, wenn einer mal nach Hilfe fragt und den mit solchen Texten zu geschmissen wird, den war er das letzte mal hier und hat was gefragt, den kann er auch ine Kirche gehen und sich ne Pre........ abholen.

Das ist nun mal so das man von Beispiele besser lernt als von Standard Texten, man macht ja nicht nur in der Fahrschule Theorie sondern bekommt auch gezeigt wie man das Auto bedient, z.B. wo der Blinker ist usw.

Ich hätte noch mehr fragen, aber das lasse ich mal lieber die hier zu stellen oder ich schreibe Leute persönlich an.

Ich bin nicht sauer oder so was, warum auch, nun weiß ich das fragen hier nicht gerne von einigen gesehen werden.
BlackJack

@stingi: Das Tutorial in der Python-Dokumentation ist keine Therorie, das soll man *durcharbeiten*, also nicht nur passiv durchlesen, sondern praktische Erfahrungen sammeln. Nur so kann man letztendlich lernen.

Ich schreibe solche grundlegenden, einfachen Lösungen nicht, weil Du mehr dabei lernst es selber heraus zu finden. Die ursprüngliche Frage, eine Datei von A nach B kopieren, lief letztlich auf zwei Zeilen hinaus: Das `shutil`-Modul importieren und die passende Funktion aufrufen. Das hattest Du ja anscheinend heraus gefunden, aber es nicht gesagt und eigentlich ein anderes Problem gehabt. Wenn Du das nicht vermitteln kannst, dann macht es halt auch Sinn Dich darauf hinzuweisen wie man Fragen so stellt, dass man Antworten bekommt. Wenn Du das als Sonntagspredigten empfindest, dann kann ich Dir leider nicht helfen.

Die Analogie zum parken hatten wir ja schon. Wenn jemand nicht einparken kann, und das *lernen* will, dann parke ich nicht für ihn ein, sondern zeige ihm wo er beispielsweise einen Text und ein Video finden kann, wo das gezeigt wird. Ich werde sicher keinen Text und kein Video für ihn erstellen wenn es das schon alles gibt. Das macht keinen Sinn Zeit dafür aufzuwenden etwas noch mal zu erstellen auf das man einfach verweisen kann. Falls es dann *konkrete* Fragen zu dem Text oder Video gibt, die dort nicht beantwortet werden, dann kann derjenige gerne nachfragen. Aber halt auch wirklich konkret, und nicht einfach nur ein lapidares ”funktioniert nicht”, denn dann weiss ich nicht was ich da konkret drauf antworten soll.

Mit dem Hinweis auf das Tutorial und das `shutil`-Modul hast Du Hilfe bekommen. Du akzeptierst das nur nicht. Und ich habe auch mehr als einmal nachgefragt wo denn das *konkrete* Problem liegt und keine Rückmeldung bekommen.

Ich habe auch mit Python mal klein angefangen. Mit dem Tutorial. Ganz am Anfang mal mit BASIC auf dem C64. Und dort mit dem BASIC-Kurs im Handbuch. In Tutorials und Kursen sind Beispiele drin. Du sagtest ja immer wieder Du willst Beispiele. Willst Du aber nicht, Du willst ein ”Beispiel” das zufälligerweise genau Dein Problem löst, also eine Komplettlösung ohne nachdenken zu müssen, ohne es tatsächlich allgemein zu lernen und die nötige Übertragungsleistung von einem allgemeinen Problem auf Dein konkretes zu vollziehen. *Das* ist aber Programmieren, und nicht Lösungen aus Beispielen zusammenstoppeln. Das geht auch nur bis zu einem gewissen Grad gut, bevor man tatsächlich verstehen muss was man da tut.
Benutzeravatar
/me
User
Beiträge: 3556
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

stingi hat geschrieben:Den hätte er doch ein Code,Text hier rein schreiben können wie es geht wenn er so gut ist, aber nein es kam das Wort zum Sonntag.
Dann erkläre ich das mal in kurz.

Wenn du einfach von jemand anderem deinen Code geschrieben haben möchtest, dann ist das ein legitimes Ansinnen. Das ist aber nicht das, wofür dieser Bereich des Forums da ist. Jobangebote kannst du woanders machen.

Wenn du Python lernen willst, dann ist es viel zielführender, wenn du dich selber mit dem Thema beschäftigst statt nur fertigen Code hingeworfen zu bekommen und den zu verwenden.
stingi hat geschrieben:Das ist nun mal so das man von Beispiele besser lernt als von Standard Texten
Welches Beispiel brauchst du denn noch zusätzlich zur Dokumentation von shutil.copy?
stingi
User
Beiträge: 9
Registriert: Samstag 24. September 2016, 01:11
Wohnort: Hamburg

/me hat geschrieben:
stingi hat geschrieben:Den hätte er doch ein Code,Text hier rein schreiben können wie es geht wenn er so gut ist, aber nein es kam das Wort zum Sonntag.
Dann erkläre ich das mal in kurz.

Wenn du einfach von jemand anderem deinen Code geschrieben haben möchtest, dann ist das ein legitimes Ansinnen. Das ist aber nicht das, wofür dieser Bereich des Forums da ist. Jobangebote kannst du woanders machen.

Wenn du Python lernen willst, dann ist es viel zielführender, wenn du dich selber mit dem Thema beschäftigst statt nur fertigen Code hingeworfen zu bekommen und den zu verwenden.
stingi hat geschrieben:Das ist nun mal so das man von Beispiele besser lernt als von Standard Texten
Welches Beispiel brauchst du denn noch zusätzlich zur Dokumentation von shutil.copy?
Habe ich oben geschrieben im ersten Beitrag das ich eine Code haben will ? NEIN.

Ist auch egal, ich kenne andere Foren wo es anders gehandhabt wir.

Und frage habe ich nicht mehr, danke

Mein FRAGEN verkneife ich mir mal lieber, oder stelle die woanders, sorry nix gegen dich.

Aber jeder sieht Hilfe anders, ich für meinen Teil hätte keine Probleme damit einen das zu zeigen oder ein Text zu schreiben wenn ich es könnt, aber dafür kann man andere Sachen.

Man was bin ich nett, wenn die ganzen Freund und bekannten mit Ihren Computern kommen und die gehen nicht mehr.
Und kein Problem ob neues BS oder Hardware wechsel, ich mach das ohne das Wort am Sonntag, wenn die das nicht könne den ist das ebbend so.

Musste schon mal zu einen hinfahren um die Mause zu tauschen, von PS2 auf ubs weil er sich das nicht getraut hat die usb Maus rein zu stecken. :mrgreen:

Oder die nerven mich auch schon mal mit z.B. komm mal lang mein Computer will Updates machen, ob BS oder Programme, da sage ich den auch schon mal was, wenn das nach dem 3ten mal sagen nicht klappt und die nerven den noch mal wegen sowas.
BlackJack

@stingi: Im ersten Beitrag bei der Frage hast Du nicht nach Code gefragt. Aber anscheinend den Code erwartet, denn nachdem Sirius3 sowohl erklärt hat wie man das selbst programmiert, als auch das Modul genannt hat in dem das schon fertig implementiert vorliegt, war Deine einzige Reaktion in einer Zeile nach dem Code dafür zu fragen. Jetzt so zu tun als hättest Du nicht von Anfang fertigen Code haben wollen ist schon ein bisschen schräg.

Hier gibt es Hilfe zur Selbsthilfe. Es wird Eigeninitiative und eine sinnvolle Kommunikation der Probleme erwartet. Wenn Du so nett bist die Computerprobleme von anderen zu lösen, ohne dass sie lernen das selbst zu tun, werden die immer wieder zu Dir kommen, weil Du das schon richten wirst. Das ist schön dass Du das so machst, aber wir haben hier keine Lust immer wieder triviale Programmlösungen für andere zu schreiben. Das hier ist ein Forum für Leute die selbst programmieren (lernen) wollen. Und Du hast Hilfe bekommen. Wie gesagt, gleich in der ersten Antwort. Das die Problemlösung mit dem \ vs. / sich so lange hingezogen hat, lag einzig an Dir, weil Du mit der Problembeschreibung so lange hinter dem Berg gehalten hast. Man kann halt schlecht Probleme lösen die man nicht kennt.

Du hast keine Fragen und die verkneifst Du Dir oder stellst sie woanders‽ ;-)
stingi
User
Beiträge: 9
Registriert: Samstag 24. September 2016, 01:11
Wohnort: Hamburg

BlackJack hat geschrieben:
Du hast keine Fragen und die verkneifst Du Dir oder stellst sie woanders‽ ;-)
Nö frage habe ich auch nicht mehr zum kopieren von Dateien und darum ging es ja, habe mir doch den Text durch gelesen.

Wo ist den jetzt das Problem :?:

Und andere fragen die ich noch habe verkneife ich mir,,,,,,,,, oder stelle die woanders.

Man muss nur mal den Text richtig lesen den sollte es auch LEUCHTEN bei einen.

Das Problem ist nicht der Code oder Text sondern das Problem hier liegt woanders, würden das alle Menschen so machen wie hier den wären noch sehr viele Menschen beim Lesen.

Schon mal davon gehört das man auch vom zuschauen lernt ? ? ? ? ? ? ? ? und das bringt meistens mehr als sich durch Texte an Theorie zu Arbeiten.

Ich habe auch nicht KFZ gelernt und mache die Bremsen vom PKW oder Anhänger( Pferdeanhänger, Transportanhänger ) und nur gelernt von einmal zu schauen.

Ich selber habe eine Lehre als Maler und Lackierer gemacht, und auch in diesen Beruf lernt mal viel vom zu kucken wie man was macht, den alles kann man ebbend nicht von Texte lernen.

Lass uns das Thema mal zu machen, den man könnte damit noch das ganze Internet füllen.
BlackJack

@stingi: Das hier ist ein Forum. Da kann man nichts machen wo andere beim zuschauen lernen ohne zu lesen. Du wolltest einfach nur die Lösung für Dein Problem ohne Dich damit beschäftigen zu müssen, indem *andere* sich mit *Deinem* Problem auseinandersetzen. Wobei das aber so trivial war, das klar war das Du echt keinen Finger krumm machen wolltest um da mal selbst 5 Minuten drüber nachzudenken und es auszuprobieren.

Klar kann man auch vom zuschauen lernen, aber das hat Grenzen, insbesondere wenn es nicht um praktische Dinge geht, sondern um abstrakte Sachen wie Programmierung. Vor allem hat das lernen dort schnell die Grenze das Du nicht wirklich Programmieren lernst, sondern nur das nachäffen von dem was Du gesehen hast, aber nicht in der Lage bist selbst Lösungen zu entwickeln die nicht so aussehen wie das was Du schon mal gesehen hast.

Und nochmal, auch wenn Du das sicher *wieder* einfach ignorieren wirst: Das Tutorial ist keine Theorie, das ist Praxis. Das will nicht passiv gelesen werden, sondern aktiv durchgearbeitet, mit einem offenen Interpreter oder Texteditor/IDE und ein wenig Neugier und Experimentierfreude. Ebenso ist die Dokumentation von der Standardbibliothek keine Theorie, da stehen ganz praktisch die Datentypen, Operationen, und Funktionen/Methoden drin beschrieben, die als Bausteine für Lösungen zur Verfügung gestellt werden.

Wer nicht in der Lage oder Willens ist sich aus der Dokumentation des `shutil`-Modul die passende Funktion zum kopieren von Dateien heraus zu suchen, der kann und wird nicht Programmieren können. Dokumentation lesen und anhand von den Informationen dort Entscheidungen treffen gehört dazu.

Den Lernprozess bei Maler/Lackierer mit Programmierer zu vergleichen ist Äpfel mit Birnen vergleichen. Natürlich muss man beim Maler/Lackierer zugucken weil man die praktischen Tätigkeiten und Materialeigenschaften nicht aus Büchern lernen kann. Die Arbeitsmittel sind da Farben/Lacke und die Werkzeuge und die Materialien auf die man die Farben aufträgt. Beim Programmieren lernt man Ideen, Konzepte, Syntaxregeln, und Semantik, und schreibt Programme. Ideen und Konzepte werden durch Texte vermittelt. Die Syntaxregeln sind selbst in einer bestimmten Syntax als Text niedergeschrieben. Die Semantik von Programmiersprachen sind als Texte dokumentiert. Man schreibt selbst Quelltexte und Dokumentation. Die Ein- und Ausgabe von Programmen ist oft in Textform. Sich da gegen Lesen und das gelesene verstehen zu wehren und lieber „zuschauen“ wollen, funktioniert einfach nicht.

Praktische Arbeit beim Programmieren besteht aus lesen und schreiben von Dokumentation und schreiben von Quelltexten. Und zwar selber schreiben, nicht von woanders abschreiben ohne zu wissen was der Code macht und zu hoffen das man richtig geraten/vermutet hat, als man den Quelltext kopiert hat.
BlackJack

Wenn man denn partout nichts neues lernen möchte, kann man ja auch einfach das verwenden was man schon kann. Rexx zum Beispiel:
[codebox=rexx file=Unbenannt.txt]call rxfuncadd 'sysloadfuncs', 'rexxutil', 'sysloadfuncs'
call sysloadfuncs

filenames_filename = 'test.txt'
target_path_base = 'tmp/'

main_routine:
do while lines(filenames_filename) > 0
source_path = linein(filenames_filename)
target_path = target_path_base || filespec('Name', source_path)
call SysCopyObject source_path, target_path
end
exit 0[/code]
Ich hab zwar auch einen Amiga 500 aber ich weiss gar nicht ob man ARexx dort zum laufen bekommt. Mit dem hatte ich sowieso nie wirklich programmiert.
stingi
User
Beiträge: 9
Registriert: Samstag 24. September 2016, 01:11
Wohnort: Hamburg

BlackJack hat geschrieben:Wenn man denn partout nichts neues lernen möchte, kann man ja auch einfach das verwenden was man schon kann. Rexx zum Beispiel:
[codebox=rexx file=Unbenannt.txt]call rxfuncadd 'sysloadfuncs', 'rexxutil', 'sysloadfuncs'
call sysloadfuncs

filenames_filename = 'test.txt'
target_path_base = 'tmp/'

main_routine:
do while lines(filenames_filename) > 0
source_path = linein(filenames_filename)
target_path = target_path_base || filespec('Name', source_path)
call SysCopyObject source_path, target_path
end
exit 0[/code]
Ich hab zwar auch einen Amiga 500 aber ich weiss gar nicht ob man ARexx dort zum laufen bekommt. Mit dem hatte ich sowieso nie wirklich programmiert.
ne ne ,Rexx = (PC), Arexx = Amiga

Das Problem ist nur was man damit noch machen kann oder nicht mehr machen kann, den die Sprachen sind ja leider OUT.

Habe einen Amiga 500 , Amiga 2000 , Amiga 4000 gehabt, war halt besser als so ein 386 oder 486 und der Zeit vorraus.

Code in Arexx für Amiga:

http://inet-web.de/bilder/fcb1.jpg
http://inet-web.de/bilder/fcb2.jpg
http://inet-web.de/bilder/fcb3.jpg

Ist zwar nicht das Ultimative Ultra Super Programm, aber es hat meinen zweck erfühlt, und hat immer hin ein Backup erstellt mit Datum und in LHA gepackt und eine Log Datei.

Und mit Key abfrage ob es ein original Key gibt für das Mailbox Programm.

Und den Code gab es auch nicht im Bausatz zum nach Affen.

Und wie man sehen kann bin ich bestimmt nicht der faule nach schreiber, aber du musst auch mal verstehen das es Menschen gibt die vom ankucken mehr lernen wie von solchen Texten z.B.

from tkinter import *

# Ein Fenster erstellen
fenster = Tk()
# Den Fenstertitle erstellen
fenster.title("Nur ein Fenster")

# In der Ereignisschleife auf Eingabe des Benutzers warten.
fenster.mainloop()

so damit bekommt man ein Fenster mit Titel, okay so weit

9.2. Buttons und Labels

Nun fügen wir unserem Fenster einige neue Elemente hinzu. Wir beginnen hier mit zwei Buttons und einem Label. Ein Label bietet uns die Möglichkeit einen Text auf dem Fenster anzeigen zu lassen, welcher dem Benutzer z.B. Informationen oder Anweisungen mitteilen kann. Der erste Button soll beim Draufklicken den Infotext ändern und der zweite Button ist ein klassischer Beenden-Button, der das Programm beendet. Solche Elemente werden folgendermassen erstellt:
-------------------------------------------------------------------------------------------------------------------------------------------------------------------------------------

my_button = Button(fenster, option=value, ... )
my_label = Label(fenster, option=value, ... )

Das erste Argument definiert welchem Fenster die jeweilige Komponente hinzugefügt wird. Mit den darauf folgenden Argumenten können wir unsere Komponente wie gewünscht einstellen, z.B.

Nur steht da nicht wo man es reinbauen soll.

so damit soll man einen Button und ein Label bekommen, nur ist im ganzen Text nicht beschrieben wo man es hin schreiben soll damit man es hat.

Das war nur ein Beispiel.

So noch mal ein Beispiel, bei meiner Frau ihrem Auto müssen die hinteren Federn gemacht werden, und schon schaue ich mir ein Video an wie z.B.

https://www.youtube.com/watch?v=2bbWrdx1bLU

Ist zwar nicht Ihr Auto, aber die Art ungefähr ist das gleiche zu 90%, und schon mache ich es den selber und hole mir was schönes für den Computer.

Wollte dir nur damit zeigen das ich hat so am Beispiel selber am besten lernen kann, nun stelle dir mal den wechsel per Text Datei vor, das dauert schon ein bisschen bis man es richtig begreift.

Weist du jetzt was ich meine.

Den sag mir mal bitte ein gutes Buch
BlackJack

@stingi: Nee, Rexx = Amiga, nämlich ARexx. Rexx ist die Sprache und ARexx ist *eine* Implementierung davon für den Amiga. Rexx gibt es für sehr viele Systeme.

Mit Rexx kann immer noch das machen was man schon immer damit machen konnte. Pfade aus einer Datei einlesen und die Dateien dann woanders hin kopieren geht problemlos, wie man an dem Beispiel sieht das ich programmiert habe.

Und auch Dein ARexx-Programm kann man portieren, denn die Sprache Rexx bleibt ja auch auf anderen Plattformen gleich, oder zumindest sehr ähnlich. Unterschiede sind hauptsächlich bei den systemabhängigen Teilen. ARexx weicht bei den Dateifunktionen ab. Allerdings werden die zum Beispiel von Regina auch zur Verfügung gestellt.

----

Na *wo* wird man die Schaltfläche und das Label wohl hinschreiben müssen‽ Genau das sollte man durch ein bisschen nachdenken selbst heraus bekommen können. Es kann nicht sein bevor `fenster` definiert ist, weil `fenster` verwendet wird, und es kann nicht nach dem `mainloop()`-Aufruf sein, weil der ja bereits auf Benutzereingaben *wartet*, also danach nichts mehr ausgeführt wird bis der Benutzer mit der GUI fertig ist. Genau das *muss* man selber aus dem vorhandenen Wissen ableiten. Wenn man das nicht kann, bekommt man nie ein eigenes Programm ohne fremde Hilfe hin. Die Frage ist doch am Ende ob man die Codezeilen nur an die Stelle schreibt weil man das mal gesehen hast, oder weil man verstanden hat *warum* die genau dort hin müssen und woanders keinen Sinn machen und das gewünschte Ergebnis liefern.

----

Das Video mit dem Federn-Wechseln ist wieder Äpfel und Birnen. Eine praktische, handwerkliche Tätigkeit ist etwas anderes als die geistige Tätigkeit ein Programm zu entwickeln. Beim einen kann man zuschauen, beim anderen nicht wirklich. Da müsste dazu die Gedanken desjenigen der das Programm schreibt dazu bekommen. Hier im Forum geht das nur in Textform. Und wenn dieser Text schon in einem Tutorial steht, dann schreibe ich den nicht noch mal ab, sondern verweise darauf.

----

Ich glaube es gibt kein gutes Buch. Jedenfalls kein deutschsprachiges. Das wo Du das Tk-Beispiel her hast, kommt mit GUIs *nach* dem Kapitel über Klassen und Objekte und verwendet das dann bei der GUI nicht, sondern verwendet Funktionen die auf globalen Werten operieren und importiert alles aus `tkinter` mit einem Sternchen. Und im Klassen-Kapitel wird erklärt was in Python ”protected” und ”private” ist, was es so in Python nicht gibt, und statt Properties werden Getter und Setter propagiert.

Insbesondere wenn man schon programmieren kann, finde ich das Tutorial in der Python-Dokumentation einen guten Einstieg/Rundgang durch die Sprache. Bei Themen wie GUI-Programmierung mit Tk sind auch in der API-Dokumentation Links zu externer Dokumentation.
Antworten