Seltsames print() Problem bei Verwendung von DLL-Wrapper
Verfasst: Montag 21. März 2011, 03:09
Hallo,
ich habe ein seltsames Problem. Der untenstehende Code läuft nur mit folgender Zeile (17):
Wenn ich das auskommente, dann funktioniert nichts mehr. Bzw. genauer gesagt die Exception springt an, weil MI.Get() nichts mehr zurückgibt. Ich verstehe nicht wie so etwas sein kann. Selbst wenn es an der DLL/Wrapper liegen sollte, würde man das doch mit so einem print() was im Prinzip nichts macht nicht reparieren können.
Ich verwende Python 2.7 x64 und Windows 7.
Die MediaInfoDLL gibts hier: http://mediainfo.sourceforge.net/de/Download
Ich weiß, mutagen und so gibts auch noch, aber ich brauch MediaInfo.
ich habe ein seltsames Problem. Der untenstehende Code läuft nur mit folgender Zeile (17):
Code: Alles auswählen
print("", end="")
Ich verwende Python 2.7 x64 und Windows 7.
Die MediaInfoDLL gibts hier: http://mediainfo.sourceforge.net/de/Download
Code: Alles auswählen
from __future__ import print_function
import sys, codecs, os.path
from MediaInfoDLL import *
DIR = os.path.abspath(u".")
sys.stdout = codecs.getwriter(u'UTF-8')(sys.stdout)
MI = MediaInfo()
album = True
for f in os.listdir(DIR):
f = os.path.join(DIR, f)
if os.path.isdir(f):
album = True
else:
print("", end="")
MI.Open(f)
try:
if album:
print("\n%s - %s" % (MI.Get(Stream.General, 0, u"Performer"), MI.Get(Stream.General, 0, u"Album")))
album = False
print("%02u - %s" % (int(MI.Get(Stream.General, 0, u"Track/Position")), MI.Get(Stream.General, 0, u"Title")))
except ValueError as e:
print("%s: %s" % (f, e))
pass
MI.Close()