Seite 1 von 1
Brauche kleine Hilfe
Verfasst: Dienstag 13. April 2010, 18:20
von Frau_U
Hallo ihr lieben.
Da ich noch nie was mit Python gemacht habe und jetzt ein wenig überfordert bin ein paar sehr (warsch dumme) fragen. aber deswegen gibt es ja ein forum, um zu fragen:
1) wird bei python alles in eine .py datei geschrieben? also classes und funktionen? alles in eine? ich habe bisher nur bicchen mit C# programmiert und da weiß ich wie was hin und her geworfen wird. aber in python ist das mir noch sehr befremdend.
2) ich würde gerne über python versuchen zu schauen ob eine (wie in meinem problem) pngout.exe, ein ordner IMG und ein Ordner Statistik bestehen. leider liefert mir der Parameter immer False. iwas mache ich falsch. kann mir jemand sagen wie man das am geschicktesten löst?
Vielen dank schon einmal!
Frau_U
Verfasst: Dienstag 13. April 2010, 18:29
von EyDu
Hallo und willkommen im Forum!
1) Ja, du kannst alles in eine py-Datei schreiben. Da du erst angefangen hast, hast du noch keine so komplexen Anwendungen.
2) Ohne Code und Fehlermeldung kann man da leider nicht viel machen. Zeige mal deinen Versuch und den kompletten Fehler (inklusive Traceback).
Sebastian
Verfasst: Dienstag 13. April 2010, 18:30
von BlackJack
Ad 1) Man kann alles in eine *.py-Datei (== Modul) schreiben oder es auf mehrere Module und Packages aufteilen. Wie's halt am meisten Sinn macht.
Ad 2) Was Du falsch machst kann man schlecht sagen ohne zu wissen *was* Du machst.
Verfasst: Dienstag 13. April 2010, 18:47
von Frau_U
vielen dank erstmal für die schnellen antworten!
ich habe mit os.path.exists('/IMG') versucht zu prüfen ob das verzeichnis existiert. es ist vorhanden, aber der rückgabeparameter ist immer false

ich lass mir das im return zurückliefern.
leider funktioniert es nicht.
ich will einfach nur mal einen aufruf wo er dann ne meldung gibt dass das verzeichnis existiert. und wenn nicht soll er eins erstellen.
nur funktioniert ja nichtmal der anfang, ich bin jetzt schon verzweifelt^^
Verfasst: Dienstag 13. April 2010, 18:54
von Leonidas
Frau_U hat geschrieben:ich habe mit os.path.exists('/IMG')
Dann versuch mal ohne den führenden Slash, da der führende Slash absolute Pfade impliziert.
Verfasst: Dienstag 13. April 2010, 18:55
von gkuhl
Groß- und Kleinschreibung beachtet?
Verfasst: Dienstag 13. April 2010, 18:57
von Frau_U
hab alles beachtet. hab extra den ordner IMG genannt.
das ist dann hier mein code. ganz popelig. aber nichtmal das funktioniert. er liefert wie gesagt false ...
Code: Alles auswählen
import os.path
def test ():
return os.path.exists('/IMG')
Verfasst: Dienstag 13. April 2010, 18:59
von Frau_U
ah hey, ohne "/" funktioniert es, super danke:) schonmal ein stückchen weiter!
wenn ich wieder etwas nicht verstehe melde ich mich. bei mir ist es immer so die verständnissache.
danke euch!
Verfasst: Dienstag 13. April 2010, 19:47
von Frau_U
hallo
schon die nächste frage.
ich wolte mit
einen Test zum Ausprobieren mit CMD machen. aber dann kam die Meldung:
Traceback (most recent call last):
File "C:/Python26/cmd.py", line 1, in <module>
import cmd
File "C:/Python26\cmd.py", line 4, in <module>
class MeineKonsole(cmd.Cmd):
AttributeError: 'module' object has no attribute 'Cmd'
ist das in Python 2.6 nicht enthalten oder was mache ich falsch?
vielen dank schonmal!
Verfasst: Dienstag 13. April 2010, 19:57
von derdon
Benenne cmd.py um und lösche cmd.pyc
Verfasst: Dienstag 13. April 2010, 23:55
von cofi
derdon hat geschrieben:Benenne cmd.py um und lösche cmd.pyc
Um die Erklaerung nachzuliefern: Der Pfad der ausgefuehrten Datei wird an die erste Stelle des Suchpfads geschoben und du importierst deshalb Module in dem Pfad statt bespielsweise der Standardbibliothek. Wenn du noch `class Cmd: pass` in die Datei schreibst wird dieser Fehler beispielsweise verschwinden (du wirst danach aber direkt in den naechsten Fallen).
Verfasst: Donnerstag 15. April 2010, 09:54
von Frau_U
Hallo ihr lieben!
So eine neue Frage. Ich möchte wie gesagt einen png Optimierer bauen. Mein Python Skript soll ein cmd fenster aufrufen und den befehl "pngout bild1.png neuesbild1.png" einfügen sodass die im gleiche Ordner liegende pngout.exe aus bild1 ein neuesbild1 macht.
kann mir jemand helfen?
in einigen beispielen steht:
aber die Bibliothek erkennt er nicht
Vielen dank schon einmal!
Verfasst: Donnerstag 15. April 2010, 10:36
von BlackJack
@Frau_U: Mal davon angesehen, dass `cmd` nicht das ist was Du brauchst, ist das Bestandteil der Standardbibliothek -- sollte also auf jeden Fall vorhanden sein.
Zum Aufrufen von externen Programmen ist das Modul `subprocess` da.
Verfasst: Donnerstag 15. April 2010, 10:45
von Frau_U
also meinst du ich sollte nicht mit cmd arbeiten? wie soll ich aber dann die exe datei ausführen?
also die exe funktioniert in cmd so dass man eingibt "pngout" dann den namen des originals, und dann den neuen namen
aber anders kann ich die doch nicht ausführen oder?
PS. hab bei galileo computing was gefunden. bzw kA wieso der import nicht funktioniert hat. jetzt tut er es.
danke für die schnelle antwort schon einmal!

Verfasst: Donnerstag 15. April 2010, 10:47
von Hyperion
Frau_U hat geschrieben:also meinst du ich sollte nicht mit cmd arbeiten? wie soll ich aber dann die exe datei ausführen?
also die exe funktioniert in cmd so dass man eingibt "pngout" dann den namen des originals, und dann den neuen namen
aber anders kann ich die doch nicht ausführen oder?
Wieso schaust Du Dir in der Doku nicht das subprocess-Modul an? Zudem gibt es dazu zig Threads hier, die auch noch Erkenntnisse bringen könnten.
PS. hab bei galileo computing was gefunden. bzw kA wieso der import nicht funktioniert hat. jetzt tut er es.
Da es sich vermutlich um das OpenBook handelt: Dieses wird hier aus guten Gründen
nicht empfohlen. Auch dazu gibts zig Threads und von BlackJack (iirc) einen Artikel auf seiner HP.
Verfasst: Donnerstag 15. April 2010, 11:01
von cofi
Frau_U hat geschrieben:also die exe funktioniert in cmd so dass man eingibt "pngout" dann den namen des originals, und dann den neuen namen
aber anders kann ich die doch nicht ausführen oder?
[mod]cmd[/mod] != cmd.exe das ist grundverschieden.
Verfasst: Donnerstag 15. April 2010, 11:29
von Frau_U
oh vielen dank für den hinweis. ich dachte das wäre so was in der richtung. wie gesagt ich habe nie mit python gearbeitet.
kannst du mir dann einen tipp geben wie ich eine pngout.exe über cmd.exe starte?
also hier nochmal:
ich habe eine py datei
im gleiche ordner befindet sich die pngout datei und 1 testbild
wenn ich es manuell mache, rufe ich die cmd.exe auf, gehe in das verzeichnis meiner py datei und gebe den befehl ein "pngout bild1.png neuesbild1.png" nun erstellt mir pngout ein optimiertes neues png.
nun stellt sich die frage.
wie kann ich ein verzeichnis mit mehreren bildern über ein python skript durch pngout.exe laufen lassen damit es mir alle bilder in dem verzeichnis abfrühstückt.
da es ein fehler meinerseits war cmd mit cmd.exe zu verwechseln steh ich leider nun wieder am anfang und bin ratlos

Verfasst: Donnerstag 15. April 2010, 11:33
von EyDu
Vielleicht solltest du dir einfach mal die Antworten durchlesen.