Seite 1 von 1

Code der Ordner erstellt und Bilder speichert

Verfasst: Donnerstag 14. Juni 2007, 14:02
von Bamba
Hallo,

ich suche derzeit nach einem Code, der Bilder in Python Quellcode einliest und diese dann in einer Funktion wieder ausgibt.

Das heißt, dass ich Beispielsweise die Funktion makeimg() starte und dann im selben Verzeichnis ein ordner entsteht, in dem Bilder vorhanden sind. Wie geht das?

Danke!

Bamba

Verfasst: Donnerstag 14. Juni 2007, 14:13
von rafael
Hoi,

ich verstehe nicht richtig was du meinst. Bildersupport in Python ist mit PIL möglich.

Verfasst: Donnerstag 14. Juni 2007, 15:39
von Sr4l
Was meinst du mit augibt?

Soll das Bild angezeigt werden auf Python eigene weise oder öffnen mit Standard-Viewer?

Wo kommen die Bilder her die in dem Ordner sein sollen?

Verfasst: Donnerstag 14. Juni 2007, 16:24
von Bamba
Hallo,

ich will einfach nur ein Skript, dass dann einen Ordner erstellt, in den Bilder kopiert werden (Sowohl der Ordner als auch die Bilder sollen durch das Skript erstellt werden).

Das heißt, dass sie irgendwie im Quelltext vorhanden sein sollen, da sie nicht außerhalb des Skriptes ohne das ausführen des Skriptes vorhanden sein sollen.

Das heißt:

1. Es sind keine Bilder, sondern nur das Python-Skript
2. Skript wird ausgeführt
3. Es ist ein Ordner entstanden, der einige Bilder beinhaltet.

Bamba

Verfasst: Donnerstag 14. Juni 2007, 17:03
von EnTeQuAk
Darf man nach dem Sinn der Übung fragen?

Ich weiß ja nicht, aber du willst sozusagen den Quelltext(?!) der einzelnen Bilder irgentwie in nem Pythonscript speichern und diese dann als Datei 'dings.png' z.B. speichern.

Irre der Plan ;) Nur macht der keinen Sinn.


Vielleicht können wir dir besser helfen, wenn wir wissen, was du vor hast mit den Bldern.


btw:
einen Ordner anlegen:

Code: Alles auswählen

import os
os.mkdir('Ordnerpfad')
MfG EnTeQuAk

Verfasst: Donnerstag 14. Juni 2007, 17:08
von BlackJack
Und warum dürfen die Bilder nicht ausserhalb des Skriptes existieren, zum Beispiel in einer Archivdatei (tar, zip)?

Verfasst: Donnerstag 14. Juni 2007, 17:11
von Bamba
Also:

Ich hab hier z.B. ein webtemplate. Dieses verwendet natürlich auch Bilder. Jetzt möchte ich einen GANZ einfachen Editor schreiben, wo man einfach nur ein paar Textboxen ausfüllen muss, wie LOGO, NAVI, und BODY. Diese werden dann in die entsprechenden Plätze eingefüllt und fertig ist die HP;-)^^

Jetzt bin ich soweit, dass der schon den kompletten Code generiert (auch die img tags) jedoch: WIE SOLL ICH DAS MIT DEN BILDERN MACHEN?

Gut, es muss nicht sein, dass die Bilder unbedingt in dem Python Skript sind, aber ich fände es besser.

Noch Fragen zur Verständlichkeit, bzw. dem Sinn dieses Plans??? :D

Bamba

Verfasst: Donnerstag 14. Juni 2007, 17:16
von EnTeQuAk
Noch Fragen zur Verständlichkeit, bzw. dem Sinn dieses Plans???
Ja, wozu?

Die Bilder können doch einfach so, wie sie sind in diesem Ordner liegen.

Oder der Benutzer gibt in die Boxen einen Pfad zu den Bildern ein und du kopierst sie in den fertigen Homepage-Ordner.

Warum kompliziert, wenns auch einfach geht?
(btw: hast du ein wenig Code, damit wir mal schauen können, was du genau meinst... so richtig kappier ich das immer noch nicht)


MfG EnTeQuAK

Verfasst: Donnerstag 14. Juni 2007, 17:20
von Bamba
Gut dann lasse ich das doch lieber weg, dass die Bilder nicht vorhanden sein dürfen vor der Ausführung des Skriptes^^

Wie sieht denn dann die Funtkion aus, die die vorhandenen Bilder außerhalb des Skriptes nimmt und in einen neuen Ordner schiebt?

Bamba

Verfasst: Donnerstag 14. Juni 2007, 19:10
von Sr4l

Code: Alles auswählen

>>> import os
>>> import shutil as sh
>>> import glob as g
>>> os.chdir('Root')
>>> os.listdir('.')
['D1', 'D2', 'D3', 'FA.txt', 'FB.txt']

>>> sh.copy('FA.txt', 'CA.txt')
>>> os.listdir('.')
['CA.txt', 'D1', 'D2', 'D3', 'FA.txt', 'FB.txt']

>>> sh.move('FB.txt','CB.txt')
>>> os.listdir('.')
['CA.txt', 'CB.txt', 'D1', 'D2', 'D3', 'FA.txt']

>>> os.remove('FA.txt')
>>> os.listdir('.')
['CA.txt', 'CB.txt', 'D1', 'D2', 'D3']

>>> for f in g.glob('*.txt'):
...    newname = f.replace('C','F')
...    os.rename(f,newname)
...
>>> os.listdir('.')
['D1', 'D2', 'D3', 'FA.txt', 'FB.txt']
>>>
>>> 
mehr gibt es hier:
http://www.freenetpages.co.uk/hp/alan.gauld/tutos.htm

Verfasst: Donnerstag 14. Juni 2007, 19:48
von gerold
Hallo Bamba!

Das geht schon, das mit den Bildern im Quellcode, aber damit schleppst du ziemlich viel Balast mit. :roll:

Wenn es sich nur um kleine Bilder handelt, dann ist es ja noch vertretbar. Falls du erreichen möchtest, dass *nur* eine Datei an die Benutzer verteilt wird.

Installiere dir wxPython und die wxPython-Demo.
--> http://wxpython.org/download.php#binaries

Danach hast du unterhalb des Python-Ordners, im Scripts-Ordner das Dienstprogramm "img2py". Damit kannst du ein Bild in eine Python-Datei umwandeln. Den Code kannst du dann verwenden um das Bild in deine Python-Datei einzubinden.
Hilfe gibt es beim Aufruf von "img2py". Das dient zumindest schon mal als Ideenlieferant.

mfg
Gerold
:-)