Erstellte Dateien trotz f.close noch 'verwendet'

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.
Gerippter
User
Beiträge: 2
Registriert: Donnerstag 9. September 2004, 10:56

Erstellte Dateien trotz f.close noch 'verwendet'

Beitragvon Gerippter » Donnerstag 9. September 2004, 11:07

Hallo zusammen. Kurz vor dem Wahnsinn wende ich mich mal an euch:
Ich habe das Problem, dass Dateien, die ich mit Python Scripts erzeuge, trotz f.close Befehls noch von Python 'verwendet' werden.
(Ja, das OS ist Windows, muss leider.)
Wenn ich z.B. einen ASCII Dump mache (und ich verwende PythonWin oder IDLE), kann ich die .asc Datei nicht oeffnen, solange ich nicht Script und Interpreter geschlossen habe. Dann gehts.
Das nervt, kann aber z.B. durch kopieren des Outputs umgangen werden (ich oeffne die Kopie des Outputs, sehr unelegant).
Da ich aber Python nutze, um fuer ArcGIS Scripte zu erstellen, scheidet die Kopier-Option bei Dumps von Groessen von 10-1000 MB definitiv aus. ;-)
Und ich bin sicher, ich mache einen dummen Fehler...
Oder?
Hat sonst keiner das Problem?
Was kann ich da tun? Gibts kein Flush, Kill, GoandDie oder so Befehl?
Hilft es wenn ich Exeptions throwe, catch oder sonstwas?
Im Moment erstelle ich einen NetCDF Dump z.B. so:

Code: Alles auswählen

export = open(tempdump_asc,'w')

write_header()  # read vars and write ASCII header for export grid
for y in range(cols):
   for x in range(rows):
       actval = rh_var[:,(cols-1)-y,x]
       export.write(str(int(actval[0]))+' ')
   export.write('\n')
export.close


Danke fuer jede Hilfe

Gruesse
Felix
mawe
Python-Forum Veteran
Beiträge: 1209
Registriert: Montag 29. September 2003, 17:18
Wohnort: Purkersdorf (bei Wien [Austria])

Beitragvon mawe » Donnerstag 9. September 2004, 11:11

Hi!

Vielleicht ist das nur ein Abschreibfehler, aber hinter close gehören ():

Code: Alles auswählen

export.close()


Gruß, mawe
Gerippter
User
Beiträge: 2
Registriert: Donnerstag 9. September 2004, 10:56

Beitragvon Gerippter » Donnerstag 9. September 2004, 11:17

*klatsch*
WIE doof kann ein Mensch sein?
WIE doof frage ich?

Original sieht mein Code so aus:

Code: Alles auswählen

ncfile.close()
export.close
os.close(1)


Na??
Haette mir das auffallen koennen?
Oder muessen?

Vielen vielen vielen Dank.
Ich gehe mich jetzt schaemen
Benutzeravatar
hans
User
Beiträge: 728
Registriert: Sonntag 22. September 2002, 08:32
Wohnort: Sauerland
Kontaktdaten:

Beitragvon hans » Donnerstag 9. September 2004, 19:02

Gerippter hat geschrieben:Haette mir das auffallen koennen?
Oder muessen?
Ja, aber erst nach dem dritten Liter Kaffee morgens um 2:30 Uhr.

Wir kenn das glaube ich alle. Ich pflege dann nach drei Stunden nervtötendem Versuchen, den Kram erst einaml in die Ecke zu schmeißen, einmal um den Block zu laufen oder meinen Hintern aufs Fahrrad zu schwingen. Das pustet die kleinen grauen Zellen durch und hilft meistens. Wenn nicht: Liegen lassen und nächsten Tag weitermachen.

Hans

Wer ist online?

Mitglieder in diesem Forum: Bing [Bot]