Seite 1 von 1
Einzelproblem, Datei ist da und doch nicht da
Verfasst: Samstag 5. Januar 2019, 11:17
von Strawk
Hallo!
Mein Code findet die korrekte Datei und gibt sie aus; beim Öffnen aber wird gemeldet: File not found. Wie geht das zu?
Code: Alles auswählen
# -*- coding: utf-8 -*-
"""
Created on Sat Jan 5 11:10:27 2019
@author: Karl Kraft
"""
import os
import gpxpy
path = "data/"
files = os.listdir(path)
for i in range(len(files)):
print(files[i])
gpx_file = open(files[i], 'r') # gpx_file is opened for reading
gpxdata = gpxpy.parse(gpx_file)
runfile('C:/Users/Karl Kraft/Documents/Programmierung_ausser_PHP/Python/analysis_of_geo_data/file_not_found_error_01.py', wdir='C:/Users/Karl Kraft/Documents/Programmierung_ausser_PHP/Python/analysis_of_geo_data')
Aachen.gpx
Traceback (most recent call last):
File "<ipython-input-21-c17527da6ba2>", line 1, in <module>
runfile('C:/Users/Karl Kraft/Documents/Programmierung_ausser_PHP/Python/analysis_of_geo_data/file_not_found_error_01.py', wdir='C:/Users/Karl Kraft/Documents/Programmierung_ausser_PHP/Python/analysis_of_geo_data')
File "C:\Users\Karl Kraft\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 705, in runfile
execfile(filename, namespace)
File "C:\Users\Karl Kraft\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "C:/Users/Karl Kraft/Documents/Programmierung_ausser_PHP/Python/analysis_of_geo_data/file_not_found_error_01.py", line 15, in <module>
gpx_file = open(files, 'r') # gpx_file is opened for reading
FileNotFoundError: [Errno 2] No such file or directory: 'Aachen.gpx'
Re: Einzelproblem, Datei ist da und doch nicht da
Verfasst: Samstag 5. Januar 2019, 11:36
von eckhard
@Strawk: Datei ist im Verzeichnis data. Du suchst Sie aber im aktuelln Verzeichnis.
Eckhard
Re: Einzelproblem, Datei ist da und doch nicht da
Verfasst: Samstag 5. Januar 2019, 11:38
von sparrow
Die Fehlermeldung beinhaltet nicht die Zeile aus deinem Quelltext.
In der Fehlermeldung lautet die Zeile
Code: Alles auswählen
gpx_file = open(files, 'r') # gpx_file is opened for reading
in deinem Quelltext
Code: Alles auswählen
gpx_file = open(files[i], 'r') # gpx_file is opened for reading
Dort liegt auch der Fehler.
Weiter:
Bitte iteriere nicht über range() sondern direkt über files:
for file in os.listdir(path):
Benutze nicht "open" sondern benutze den with-Operator:
with open(file, "r") as gpx_file:
Re: Einzelproblem, Datei ist da und doch nicht da
Verfasst: Samstag 5. Januar 2019, 12:01
von Sirius3
`os.listdir` liefert nur die Dateinamen, die liegen aber im Verzeichnis `data`, daher lohnt es sich, statt listdir glob zu benutzen:
Code: Alles auswählen
from glob import glob
for filename in glob("data/*"):
with open(filename) as gpx_file:
gpxdata = gpxpy.parse(gpx_file)
Re: Einzelproblem, Datei ist da und doch nicht da
Verfasst: Samstag 5. Januar 2019, 12:03
von Strawk
Hallo!
In eurem Forum kann man keine eckigen Klammern mit copy und paste einfügen. Im Entwurf sind sie da, in Vorschau und Thread werden sie geschluckt. Bitte den Bug fixen.
Grüße
Strawk
Re: Einzelproblem, Datei ist da und doch nicht da
Verfasst: Samstag 5. Januar 2019, 12:08
von Sirius3
Der Bug ist, dass Du auch den Stacktrace in [ code ]-Tags packen mußt, bitte fixen.
Re: Einzelproblem, Datei ist da und doch nicht da
Verfasst: Samstag 5. Januar 2019, 12:25
von __blackjack__
@Strawk: Die eckigen Klammern werden nicht geschluckt, sondern von der Forensoftware als Formatierugsanweisungen interpretiert mit [ i ] (ohne die Leezeichen) wird kursiv formatierter Text eingeleitet.
Re: Einzelproblem, Datei ist da und doch nicht da
Verfasst: Samstag 5. Januar 2019, 12:35
von Strawk
Hallo!
Okay, also jetzt nochmal. Hier der Code:
Code: Alles auswählen
import os
import gpxpy
path = "data/"
files = os.listdir(path)
for i in range(len(files)):
print(files[i])
gpx_file = open(files[i], 'r') # gpx_file is opened for reading
gpxdata = gpxpy.parse(gpx_file)
Sowie der Trace:
Code: Alles auswählen
runfile('C:/Users/Karl Kraft/Documents/Programmierung_ausser_PHP/Python/analysis_of_geo_data/file_not_found_error_01.py', wdir='C:/Users/Karl Kraft/Documents/Programmierung_ausser_PHP/Python/analysis_of_geo_data')
Aachen.gpx
Traceback (most recent call last):
File "<ipython-input-32-c17527da6ba2>", line 1, in <module>
runfile('C:/Users/Karl Kraft/Documents/Programmierung_ausser_PHP/Python/analysis_of_geo_data/file_not_found_error_01.py', wdir='C:/Users/Karl Kraft/Documents/Programmierung_ausser_PHP/Python/analysis_of_geo_data')
File "C:\Users\Karl Kraft\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 705, in runfile
execfile(filename, namespace)
File "C:\Users\Karl Kraft\Anaconda3\lib\site-packages\spyder\utils\site\sitecustomize.py", line 102, in execfile
exec(compile(f.read(), filename, 'exec'), namespace)
File "C:/Users/Karl Kraft/Documents/Programmierung_ausser_PHP/Python/analysis_of_geo_data/file_not_found_error_01.py", line 15, in <module>
gpx_file = open(files[i], 'r') # gpx_file is opened for reading
FileNotFoundError: [Errno 2] No such file or directory: 'Aachen.gpx'
Erbitte hilfreiche Tipps, danke!
Strawk
Re: Einzelproblem, Datei ist da und doch nicht da
Verfasst: Samstag 5. Januar 2019, 12:57
von Sirius3
@Strawk: Du hast schon zwei Lösungen und viele hilfreiche Tipps bekommen.
Re: Einzelproblem, Datei ist da und doch nicht da
Verfasst: Samstag 5. Januar 2019, 13:08
von snafu
Eine Möglichkeit wäre die
pathlib. Ungetestet:
Code: Alles auswählen
from pathlib import Path
import gpxpy
path = Path('data')
for filename in path.glob('*.gpx'):
with filename.open() as gpx_file:
gpxdata = gpxpy.parse(gpx_file)
Eine andere Komplettlösung hatte dir ja auch schon Sirius3 geliefert. Weiter kann man hier nicht helfen...
Re: Einzelproblem, Datei ist da und doch nicht da
Verfasst: Samstag 5. Januar 2019, 17:34
von Strawk
Hallo!
Ja, das klappt jetzt auch zum großen Teil; durch Beherzigung eurer Ratschläge. Eine eher kurze Frage(?): Wie kann ich prüfen, ob eine GPX-Datei Zeitinformationen enthält oder nicht?
Grüße
Strawk
Re: Einzelproblem, Datei ist da und doch nicht da
Verfasst: Samstag 5. Januar 2019, 19:35
von __blackjack__
@Strawk: Die entsprechende Methode aufrufen die das prüft.

Re: Einzelproblem, Datei ist da und doch nicht da
Verfasst: Sonntag 6. Januar 2019, 11:51
von Strawk
Also sprach Salomo...
Hättest du die Güte, mir diese Methode zu nennen?
Strawk
Re: Einzelproblem, Datei ist da und doch nicht da
Verfasst: Sonntag 6. Januar 2019, 12:22
von ThomasL
Ich denke mal, hier solltest du fündig werden....
https://github.com/tkrajina/gpxpy