@barisoezcan: Du hast die falsche Erwartung bei der Ausgabe. Bei der Umwandlung einer Liste in eine Zeichenkette werden die einzelnen Elemente mit `repr()` umgewandelt und nicht mit `str()`, ganz einfach damit man sieht was *tatsächlich* in den Zeichenketten enthalten ist. Da der Backslash in Zeichenketten eine besondere Bedeutung hat, muss er escaped werden, damit man einfach Backslashes von solchen unterscheiden kann, die mit dem folgenden Zeichen etwas anderes bedeuten als ein Backslash gefolgt von einem Zeichen.
Zum zusammen setzen von Pfaden sollte man die `os.path.join()`-Funktion verwenden statt ``+``.
`fobj` könnte man `lines` nennen. Das wäre deutlicher.
Statt umständlich mit `split()` das Zeilenende *nachher* zu entfernen, könnte man das gleich am Anfang und mit der `strip()`- oder `rstrip()`-Methode machen.
Wenn man die Datei zusammen mit der ``with``-Anweisung verwendet, braucht man sie nicht explizit schliessen und kann sich auf der anderen Seite sicher sein, dass sie geschlossen wird, auch wenn zwischen öffnen und schliessen zum Beispiel eine Ausnahme auftritt.
Edit:
Code: Alles auswählen
import os
IMAGE_BASE_PATH = r'Testbilder\JPEGBild'
def main():
with open('Bilder.txt', 'r') as lines:
image_paths = [
os.path.join(IMAGE_BASE_PATH, line.rstrip()) for line in lines
]
print(image_paths)
if __name__ == '__main__':
main()