Brauche kleine Hilfe

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
Benutzeravatar
Frau_U
User
Beiträge: 16
Registriert: Dienstag 13. April 2010, 18:15

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
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

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
Das Leben ist wie ein Tennisball.
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.
Benutzeravatar
Frau_U
User
Beiträge: 16
Registriert: Dienstag 13. April 2010, 18:15

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^^
Leonidas
Python-Forum Veteran
Beiträge: 16025
Registriert: Freitag 20. Juni 2003, 16:30
Kontaktdaten:

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.
My god, it's full of CARs! | Leonidasvoice vs (former) Modvoice
Benutzeravatar
gkuhl
User
Beiträge: 600
Registriert: Dienstag 25. November 2008, 18:03
Wohnort: Hong Kong

Groß- und Kleinschreibung beachtet?
Benutzeravatar
Frau_U
User
Beiträge: 16
Registriert: Dienstag 13. April 2010, 18:15

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') 
Benutzeravatar
Frau_U
User
Beiträge: 16
Registriert: Dienstag 13. April 2010, 18:15

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!
Benutzeravatar
Frau_U
User
Beiträge: 16
Registriert: Dienstag 13. April 2010, 18:15

hallo :)

schon die nächste frage.
ich wolte mit

Code: Alles auswählen

import cmd 
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!
derdon
User
Beiträge: 1316
Registriert: Freitag 24. Oktober 2008, 14:32

Benenne cmd.py um und lösche cmd.pyc
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

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).
Benutzeravatar
Frau_U
User
Beiträge: 16
Registriert: Dienstag 13. April 2010, 18:15

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:

Code: Alles auswählen

import cmd
aber die Bibliothek erkennt er nicht :(

Vielen dank schon einmal!
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.
Benutzeravatar
Frau_U
User
Beiträge: 16
Registriert: Dienstag 13. April 2010, 18:15

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! :-)
Benutzeravatar
Hyperion
Moderator
Beiträge: 7478
Registriert: Freitag 4. August 2006, 14:56
Wohnort: Hamburg
Kontaktdaten:

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.
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

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.
Benutzeravatar
Frau_U
User
Beiträge: 16
Registriert: Dienstag 13. April 2010, 18:15

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 :(
EyDu
User
Beiträge: 4881
Registriert: Donnerstag 20. Juli 2006, 23:06
Wohnort: Berlin

Vielleicht solltest du dir einfach mal die Antworten durchlesen.
Das Leben ist wie ein Tennisball.
Antworten