Seite 1 von 1

tempfile

Verfasst: Freitag 29. April 2005, 13:08
von _xerxes
hallo allerseits,

Code: Alles auswählen

import os, tempfile as _tempfile


base_image = _tempfile.mktemp() + '.jpg'
change_image = '/root/tmp/energis.jpg'
print base_image
tmp = open('Djavo.jpg', 'r')
dat = tmp.read()
tmp.close()

tempfile = open(base_image, 'wb')
tempfile.write(dat)
tempfile.close()

new_image = _tempfile.mktemp() + '.jpg'
print base_image
print "\n"
print new_image
#os.system()

tempfile = open(new_image, 'r')
data = tempfile.read()
tempfile.close()

print data
ich spiele zur zeit ein wenig mit dem tempfile modul.
beim ausführen des obigen codes erscheint folgender fehler:

Code: Alles auswählen

/tmp/tmp3GCYEV.jpg
/tmp/tmp3GCYEV.jpg


/tmp/tmpQcU2Fh.jpg
Traceback (most recent call last):
  File "tmp.py", line 22, in ?
    tempfile = open(new_image, 'r')
IOError: [Errno 2] No such file or directory: '/tmp/tmpQcU2Fh.jpg'
ich frage mich was ich falsch mache.

Edit (Leonidas): Code in Python Tags gesetzt.

Verfasst: Freitag 29. April 2005, 15:59
von CM
Hi

bin mir zwar nicht ganz sicher ob das die richtige Antwort auf Deine Frage ist, aber versuche doch einmal os.tempfile anstelle des tempfile-Moduls. Ein Beispiel findest du hier, auch wenn ich dabei davon überzeugt worden bin, etwas anderes zu machen.

Gruß,
Christian

Verfasst: Freitag 29. April 2005, 21:02
von BlackJack
@_xerxes: Die Funktionen, ob nun aus dem `tempfile` Modul oder aus `os`, liefern einen Dateinamen der zum Zeitpunkt des Aufrufs nicht existiert. Wenn man dann versucht eine Datei mit diesem Namen zum Lesen zu öffnen, dann muss das den beobachteten "Fehler" zur Folge haben.

Du solltest JPG Dateien übrigens im Modus 'rb' bzw. 'wb' zum Lesen oder Schreiben öffnen, weil es Binärdaten und keine Textdateien sind.