String aus Textdatei lesen und anschliessend manipulieren
-
deets
Auch nicht unerwaehnt bleiben sollte PyPy, welches inzwischen im Schnitt doppelt so schnell ist als der CPython Interpreter - und dabei unter anderem alternative Garbage Collection einsetzt, womit implizites Verhalten wie bisher nicht garantiert ist. Und das ist schon deutlich relevanter, denn PyPy kann durchaus oft als drop-in replacement genutzt werden (im Gegensatz zu Jython).
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Äh... dann zeig Du mir bitte die Lösung. Ich kann mir das so nicht vorstellen!EyDu hat geschrieben: Nein, darauf, dass das open nicht in den try-Block gehört.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Ich hatte doch oben bereits PEP 343 verlinkt:
wird zu
Das "open" wird, vor dem "try" ausgeführt. Sonst würde man bei einem fehlerhaften Öffnen versuchen die Datei zu schließen.
Code: Alles auswählen
with EXPR as VAR:
BLOCKCode: Alles auswählen
mgr = (EXPR)
exit = type(mgr).__exit__ # Not calling it yet
value = type(mgr).__enter__(mgr)
exc = True
try:
try:
VAR = value # Only if "as VAR" is present
BLOCK
except:
# The exceptional case is handled here
exc = False
if not exit(mgr, *sys.exc_info()):
raise
# The exception is swallowed if exit() returns true
finally:
# The normal and non-local-goto cases are handled here
if exc:
exit(mgr, None, None, None)Das Leben ist wie ein Tennisball.
EyDu meint wohl, dass foo in deinem Beispiel (finally) nicht geschlossen werden kann, wenn eine Exception passiert. Soweit ich mich richtig erinnere musste man die try ... excepts ... verschachteln
Edit: knapp zu spät
Code: Alles auswählen
try:
foo = open('bar')
try:
foo.read()
finally:
foo.close()
except IOError:
# ...
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
Ah ... ok. Dann hab ich das wohl immer falsch gehandelt - nuja, benutze ja auch schon seit Jahren `with` 
Diese Antwort hatte mich jedoch eher verwirrt, als dass sie half:
Diese Antwort hatte mich jedoch eher verwirrt, als dass sie half:
EyDu hat geschrieben: Nein, darauf, dass das open nicht in den try-Block gehört.
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
Hallo zusammen!
Ich bin überwältigt wie viel dazu geschrieben wurde, danke vielmals! Ich muss sagen, dass ich exeption handling
in Python noch nicht genau angeschaut habe, kenne es aber aus Java.
Ich habe das ganze nun so gelöst:
Funktioniert wunderbar. Ich möchte die Daten gerne noch mit der Methode der kleinsten Quadrate fitten.
Gibt es eine Funktion, die das für einen macht?
EDIT: http://www.scipy.org/Cookbook/FittingData
diesen Link habe ich mir angeschaut, aber blicke nicht wirklich durch, darum kann ich es auch nicht implementieren ..
cheers!
Ich bin überwältigt wie viel dazu geschrieben wurde, danke vielmals! Ich muss sagen, dass ich exeption handling
in Python noch nicht genau angeschaut habe, kenne es aber aus Java.
Ich habe das ganze nun so gelöst:
Code: Alles auswählen
from pylab import *
xList = []
yList = []
f = open("FunDia1.txt")
xlabel('Verkehrsdichte')
ylabel('Verkehrsfluss')
for line in f:
line = line.rstrip()
parts = line.split()
xList.append(double(parts[0]))
yList.append(double(parts[1]))
plot(xList,yList,'ro')
axis([0,1.2,0,0.5])
show()
Gibt es eine Funktion, die das für einen macht?
EDIT: http://www.scipy.org/Cookbook/FittingData
diesen Link habe ich mir angeschaut, aber blicke nicht wirklich durch, darum kann ich es auch nicht implementieren ..
cheers!
- Hyperion
- Moderator
- Beiträge: 7478
- Registriert: Freitag 4. August 2006, 14:56
- Wohnort: Hamburg
- Kontaktdaten:
1.) Wenn schon mit einem eigenen Ansatz, wieso verwendest Du nicht ``with``? Das wurde ja gerade intensiv diskutiert...
2.) Wieso verzichtest Du auf die Funktion aus ``numpy``, die ich Dir gepostet hatte? Das wäre doch das komfortabelste...
2.) Wieso verzichtest Du auf die Funktion aus ``numpy``, die ich Dir gepostet hatte? Das wäre doch das komfortabelste...
encoding_kapiert = all(verstehen(lesen(info)) for info in (Leonidas Folien, Blog, Folien & Text inkl. Python3, utf-8 everywhere))
assert encoding_kapiert
assert encoding_kapiert
