bestimmten Ordner suchen

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.
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

@BlackJack
Ich will dich ja gar nicht bezichtigen das du vorschnell reagierst :D.
Allerdings kann ich auch nicht sehen wenn sich hier jemand zu dritten mal unter anderem Namen anmeldet und August war ich hier selbst noch nicht angemeldet. :wink:

@eyescube
Das ist kein Grund ausfällig zu werden, denn unbegründet ist BlackJacks Aussage nicht. Wenn du glaubst in C++ wird es einfacher, muss ich dich leider enttäuschen, das ist in etwa dasselbe wie in Python und in PHP.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
eyescube
User
Beiträge: 56
Registriert: Mittwoch 6. April 2011, 06:58

jede andere Scriptsprache is mir lieber als Python und jedes andere Script bearbeit ich lieber.
PHP is eben meine Lieblingssprache Python wirds niemals werden ich wills einfach nur können mehr nid der Rest is mir relativ.
,

okay 100 euro wer mit von dem nen Fertiges Script vorlegt ne pm mit dem Script kontodaten bla bla morgen is Geld druf Bye.
BlackJack

@eyescube: Nach allem was Du hier zeigst und von Dir gibst, verstehst Du auch PHP nicht. Programmieren im allgemeinen nicht. Du kopierst Dir bloss immer fertige Lösungen zusammen ohne die Hintergründe und Zusammenhänge zu verstehen. Die Auswahl an Kopiervorlagen scheint bei PHP einfach nur grösser zu sein und/oder der Wille von anderen PHP-Programmierern Dir in Foren fertige Lösungen vorzusetzen.

Ich würde im Gegensatz zu Xynon1 sogar behaupten in C++ wird es schwieriger als in PHP oder Python, denn da muss man auch noch auf die Speicherverwaltung aufpassen, d.h. gewisse Grundprinzipien wie RAII *verstehen* und anwenden können. Und Programmfehler werden in der Regel nicht so nett mit Ausnahmen oder Fehlermeldungen und Tracebacks beantwortet, sondern mit einem schlichten Programmabbruch.

Wenn Du Python lernen möchtest oder halt auch nur musst, dann *tu* das doch endlich mal. Lass Dein Programm erst einmal ruhen und lerne die Grundlagen von Python und Programmieren. Stell Dir Aufgaben und löse die. *Ohne* dafür Quelltext aus dem Netz zu kopieren.
eyescube
User
Beiträge: 56
Registriert: Mittwoch 6. April 2011, 06:58

+hust+ ich hab auch PHP gelernt in einer Schulung und Python nicht das isn Unterschied
genauso wie ich QBasic vor ewigen Schulzeit mal gelernt hab.
Wenn du meinst du kannst alles ok

ich erwarte von dir ein PHP-Script mit ner Datenbank mit einfügen,löschen,aktualisieren,abfragen.
Unter anderem will ich ne Funktion die IP-Adressen Loggt.
Und ich möchte das alle namen +Vornamen in ne Textdatei geschrieben werden sowie ID-Schlüssel und Email derjenigen Person.
wenn de mir das zeigst
DANN greif ich die Doku an ich geb dir zeit bis sagen wir 15.00 das müsste reichen also BlackJack los zeig ma was de kannst -.-
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

@BlackJack
Ok zugegeben es ist schwerer, wenn man eine Weile nicht mit C++ gearbeitet hat vergisst man das schnell. (Eigentlich will ich mich auch gar nicht daran erinnern :) )

@eyescube
Hört sich nun nicht sonderlich kompliziert an, aber wieso sollte man das mit PHP machen wollen?
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
eyescube
User
Beiträge: 56
Registriert: Mittwoch 6. April 2011, 06:58

jo dann Realisier es in Python wenn dir Python leichter fällt und ich warte drauf was ihr da rausbekommt.
warum macht Python auf Windows und Linux so n riesen Unterschied wenn ich
os.system("file.py")
eingeb
unter Windows funktioniert und unter Linux folgendes ausgibt?
python lastfile1.py
sh: file.py: Kommando nicht gefunden
und nur bash-befehle wie cat ls -l un so funktionieren? macht das überhaupt Sinn?
Benutzeravatar
/me
User
Beiträge: 3561
Registriert: Donnerstag 25. Juni 2009, 14:40
Wohnort: Bonn

eyescube hat geschrieben:+hust+ ich hab auch PHP gelernt in einer Schulung und Python nicht das isn Unterschied
Na so was. Du hattest doch gesagt, dass du ein paar Tutorials durchgearbeitet hättest. De facto bist du aber nicht einmal in der Lage, in dem von dir laut eigener Aussage gekonnten PHP eine Lösung vorzulegen.

Ich komme mir hier hier verarscht vor. Wenn du dich nicht mit Python beschäftigen möchtest, dann ist das dein gutes Recht. Dann geh aber nicht her und tu so, als wolltest du lernen. Du willst eine fertige Lösung, das ist alles.

Deine bisher gezeigten Fähigkeiten als Softwareentwickler sind nicht gut, da du selbst beim Umgang mit elementaren Konzepte Schwierigkeiten zeigst. Deine kommunikativen und sozialen Fähigkeiten hingegen sind in einem auch nur halbwegs professionellen Umfeld gar nicht zu gebrauchen.

Code: Alles auswählen

entry = sorted([(os.path.getmtime(os.path.join(pathname, filename)), 
                filename) for filename in os.listdir(pathname)])[-1]
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

eyescube hat geschrieben:jo dann Realisier es in Python wenn dir Python leichter fällt und ich warte drauf was ihr da rausbekommt.
Und wieso sollte einer von uns beiden das umsetzen wollen? Damit du deine nächsten Aufgaben auch gleich gelöst hast? :evil:
eyescube hat geschrieben:und nur bash-befehle wie cat ls -l un so funktionieren? macht das überhaupt Sinn?
JA, macht Sinn, da script.py kein Programm sondern einfach nur eine Datei ist. Wenn unter Windows der Registry nicht die Einträge für ".py" Dateien gesetzt sind geht es da auch nicht. Hier hast du wiedermal bewiesen das dir die Grundlagen fehlen. Du musst es mit "python script.py" starten.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
eyescube
User
Beiträge: 56
Registriert: Mittwoch 6. April 2011, 06:58

nein weil ich die aufgabe schon gelöst hab.
-.-
ausserdem
es nervt einfach könnt den Thread schließen hab kein bock mehr auf euch so wie ihr euch aufführt.
wie die kiga´s
" du kannst das nich du bist dooof"
un du das nich du bist dooof
un du bist das das das
alter lasst euch mal einweisen ey -.-
UND DANKE woher soll ich wissn das in Linux der befehl anders is als in Windows vorallem weil ich heut früh auf WIndows os.system("test.py") sogar noch angelaufn is MAN MAN MAN eine frage schon flennen alle rum
kiga ey
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

Der einzige der sich hier so auführt bist du.

Hättest du die Doku gelesen, wüsstest du das. Zumal es zum Grundwissen gehört das es unter verschiedenen Betriebsystemen verschiedene Befehle gibt und das man wenn man einen Befehl ausführen möchte dies auch einer sein muss. Ich schreib doch auch nicht im Terminal "Los mach mal".

Im übrigen wenn du die selbe Energie ins lesen und verstehen investieren würdest wie zum "rumwettern" hättest du das Problem schon lange gelöst.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
BlackJack

@eyescube: Ich glaube Dir nicht dass Du in PHP oder QBasic programmieren kannst. Ich kann nicht alles, das habe ich nie behauptet. Aber das aktuelle Problem -- die Pfade in einem Verzeichnis nach Dateidatum zu sortieren -- kann ich in C++, PHP, Python, vielleicht QBasic, und sicher noch einer Reihe anderer Programmiersprachen lösen.

Bei QBasic bin ich mir nicht so sicher weil die Sprache von Haus aus keine Möglichkeit bietet an die Zeitinformation zu einer Datei zu kommen. Da müsste man also mit Tricks arbeiten, wie zum Beispiel die entsprechenden DOS-Funktionen direkt aufrufen. Mit FreeBASIC, was grösstenteils rückwärtskompatibel zu QBasic ist, sollte es kein Problem sein, weil man dort auch auf externe Bibliotheken, wie beispielsweise die C-Standardbibliothek zurückgreifen kann. Die enthält sowohl eine Quicksort-Implementierung als auch Funktionen zum Ermitteln der Dateizeiten.

Warum erwartest Du von mir ein PHP-Skript was deutlich umfangreicher ist als das Problem, welches im Moment *von Dir* zu lösen ist, als Vorleistung bevor Du dich mal ernsthaft mit Python und programmieren im Allgemeinen auseinander setzt!? *Du* musst das doch am Ende können. Ich kann das schon. Auch in PHP wenn es denn unbedingt sein muss. Was IMHO nicht wirklich sein muss. :-)

Etwas in dem Umfang würde ich in dem Zeitrahmen nicht schaffen, weil ich mich in PHP erst wieder einarbeiten müsste. Und dann müsste ich mir ja erst einmal ein Projekt und einen Datenbankentwurf dazu ausdenken. Und warum sollte ich das in PHP machen wollen!? In wie fern hilft Dir das bei Deinem Problem weiter?

Dateinamen relativ zum Skript nach Dateidatum zu sortieren habe ich gerade eben mal in PHP gemacht. Musste mich da auch wieder kurz rein lesen -- und habe mit Freude festgestellt, dass man mittlerweile Callbacks nicht mehr als Name der Funktion als Zeichenketten angeben muss, sondern tatsächlich anonyme Funktionen schreiben kann. War letztendlich aber kein grosses Problem und ist vom grundsätzlichen Vorgehen her genau das selbe unter Python.

`os.system` ist wie der Name schon vermuten lässt *system*abhängig. Es wird die Shell auf dem System gestartet -- die sich auch von Linux zu Linux anders verhalten kann, je nach dem welche da konfiguriert ist -- und der wird dann die Zeichenkette zum Abarbeiten gegeben. Was Du da siehst sind die Unterschiede zwischen Windows und Linux wie Dateien gestartet werden beziehungsweise welche Dateien man überhaupt ausführen kann und welche nicht. Windows sucht im %PATH% und im aktuellen Verzeichnis und geht nach Dateiendungen und verknüpft die mit Anwendungen. Linux sucht nur im $PATH und nicht im aktuellen Verzeichnis, kümmert sich nicht um die Dateiendung, und das "executable bit" muss gesetzt sein. Aber was hat das jetzt mit dem Problem zu tun? Oder mit Python? Denn die `system()`-Funktion bei PHP verhält sich exakt genau so! Ganz einfach weil die die C-Funktion so verhält, die in beiden Fällen dahinter steht.
eyescube
User
Beiträge: 56
Registriert: Mittwoch 6. April 2011, 06:58

ich brauch grad das PHP-Script nich ich habs ja schon erledigt das war nur ein test ob du das auch so wie du von mir erwartest so schnell hinschreiben kannst -.-.
was das damit zu tun hat ich kanns dir sagen
es gibt ne datei die sagt
suche im Linux_client und nimm die Datei welches Datum am neuesten ist und überschreibe mit shutil die alte Datei und führe mit os.system die überschriebene Datei aus.
das is alles was ich grad will +raaaaaaaawr + mehr will ich doch garnich den rest der Befehle hab ich mir so ziemlich angeguggt was shutil macht genauso wie shutil alles machen kann wie copytree also ganze Verzeichnisse kopiern.
ich hab nur beim sortieren Probleme bei PHP nehm ich sort und hau die parameter rein un sieh an es läuft aber in Python gibts 1 von 100 Möglichkeiten es zu lösen.
Und genau DAS macht mir an Python Angst.
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

@eyescube
Wie jetzt, /me hat dir schon eine Musterlösung geschrieben und du kommst nicht mit dem sortieren klar?
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
eyescube
User
Beiträge: 56
Registriert: Mittwoch 6. April 2011, 06:58

ich hab das noch garnid gesehn was /me geschrieben hat ausserdem ich schreib euch wie ichs in php gelöst hätte bis später -.-
BlackJack

@eyescube: Ich erwarte ja nicht von Dir das Du eine komplette Webanwendung in PHP oder Python schreibst, die gar nichts mit dem Problem zu tun hat was Du gerade lösen willst/musst, sondern eine Lösung für genau dieses Problem! Wenn Du das in PHP oder einer anderen imperativen Programmiersprache lösen kannst, dann müsstest Du das nämlich auch in Python lösen können. So unterschiedlich ist das nicht.

Bei Python gibt es genau zwei Sortierfunktionen. `sorted()` und die `sort()`-Methode auf Listen. Bei PHP gibt es deutlich mehr Sortierfunktionen und `sort()` ist bei PHP *nicht* die Funktion die Du brauchst, denn die würde eine Liste mit Dateinamen einfach alphabetisch sortieren und nicht nach Alter der Datei. Weil PHP die Datentypen "Feld" und "Wörterbuch" in einem Typ "assoziatives Array" zusammen fasst, ist dort die Auswahl an Sortierfunktionen IMHO sogar komplexer als in Python.

Wenn Du wirklich nur die neueste Datei haben möchtest, brauchst Du auch gar nicht sortieren, sondern kannst Die `max()`-Funktion mit einem entsprechenden `key`-Argument verwenden.

In dem Falle könnte ich meine PHP-Lösung auch noch mal ohne Sortieren schreiben. :-)
eyescube
User
Beiträge: 56
Registriert: Mittwoch 6. April 2011, 06:58

kommt drauf an es gibt in PHP mehrere sortier"arten"
sowie krsort was rückwärts sortiert ~> d,c,b,a
und ksort vorwärts
genauso wie sortieren nach Datum ne for-each schleife durchläuft
ich arbeite meistens mit arrays ansonten hab ich so viele Variablen das ich mich nicht mehr auskenne.
hm ich sollte mir mal max-function ansehn
aber heut nicht mehr heut isn scheiss Tag bin mies gelaunt hab mir 2 Nerven eingeklemmt im Schulterblatt also ich hab Grund genug schlecht drauf zu sein x)
und nein ich will das script mit den IP-Logs nicht
ich weis selber wie das geht x.x. Ich brauch auch keine PHP-Lösung bin wegen Python hier nicht wegen dem anderen Zeug ^^
BlackJack

@eyescube: Diese Sortierarten bei PHP richten sich danach, als was man ein Array verwendet -- als Array im klassischen Sinn, oder als Wörterbuch; und welche Aspekte des assoziativen Arrays man sortieren will und nach welchen Kriterien man diese Aspekte sortieren will und dann auch noch in welche Richtung man sortieren will. Für jede dieser Kombinationsmöglichkeiten scheint PHP eine *eigene* Funktion zu verwenden, wo es in Python im Grunde nur *eine* Funktion gibt. Wie die "Schlüssel" beim Sortieren berücksichtigt werden, braucht man in Python gar nicht angeben, weil dort nicht zwei unterschiedliche Datentypen in einem vermischt werden. Wenn nicht nach der "natürlichen" Ordnung sortiert werden soll, kann man eine Funktion angeben, die den Sortierschlüssel für ein gegebenes Element bestimmt. Man könnte alternativ auch eine Vergleichsfunktion übergeben, aber das `cmp`-Argument ist "deprecated". Und für ein absteigendes Sortieren gibt es das `reverse`-Argument.

Ich sehe jetzt nicht wo man beim Sortieren nach Datum eine ``foreach``-Schleife benötigt!? Man muss nur die passende Sortierfunktion mit den entsprechenden Argumenten aufrufen.
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

@BlackJack
cmp "deprecated" - hast du auch zufällig eine Ahnung warum? Ich fand die Funktion eigentlich immer recht praktisch.
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
BlackJack

@Xynon1: Weil es mehr Aufwand ist als `key` und man mit `key` im Grunde alles machen kann, was mit `cmp` auch geht. Die `key`-Funktion wird für jedes Element nur einmal aufgerufen, die `cmp`-Funktion dagegen für jeden Vergleich der gemacht werden muss. Bezogen auf das hier vorliegende Problem müsste die `key`-Funktion nur einmal pro Pfad die Dateizeit ermitteln, die `cmp`-Funktion aber bei jedem Vergleich von zwei Pfadnamen und dann auch noch für beide.

Ab Python 2.7 gibt es `functools.cmp_to_key()` um eine Vergleichsfunktion in eine `key`-Funktion umzuwandeln, weil es in Python 3 das `cmp`-Argument bei den entsprechenden Funktionen nicht mehr gibt.
Xynon1
User
Beiträge: 1267
Registriert: Mittwoch 15. September 2010, 14:22

Und wieder etwas gelehrnt :D.
Wirft aber wieder eine andere Frage auf, wenn cmp() weg fällt in Python 3., dann fällt doch sicher auch __cmp__ weg. Reicht es dann __eq__ und __gt__ zu überladen oder müssen dann alle Vergleichsoperatoren angegeben werden. Weil bisher hatte ich immer nur rein praktikabel __cmp__ überschrieben.

Ähm, und sorry für das Thread-Hijacking. :oops:
Traue keinem Computer, den du nicht aus dem Fenster werfen kannst.
Xynon auf GitHub
Antworten