@Dato38it

Почему программа не видит файл, хотя он есть?

Вчера на работе программа запускалась без каких либо проблем и выводила данные и нужного файла. сегодня решил протестировать ее у себя дома.
IR.kml
Traceback (most recent call last):
  File "E:\Github\FillingInDataForTheSite\py.py", line 174, in <module>
    with open(kmlfile,"r", encoding="utf8") as rdbfile:
         ~~~~^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^

Как видите он выдает ошибку об отсутствии файла. хотя изначально показываться сам файл в программе и папка data с файлом есть:
$ ls data/IRK/
IR.kml

почему он ее не считывает?
Забавно то, что на работе он прекрасно считывал данные.
Фрагмент моего кода вот:
import pandas as pd
import os
import re
...
        netpath = "data/"
        lengthdir=len(netpath)
        listreg=['IRK','MGD','SAH','KHA','KAM']
        for root, dirs, files in os.walk(netpath):
            alldir = root[lengthdir:]
            #print(alldir) 
            if ("old" in alldir):
                #print("FALSE")
                continue
            elif alldir in listreg:
                #print(alldir)
                for kmlfile in files:
                    #print(kmlfile)
                    if prefixs[0] in kmlfile:
                        #print("Это выгрузка из всех сайтов RDB")
                        print(kmlfile)
                        with open(kmlfile,"r", encoding="utf8") as rdbfile:
                            file = rdbfile.read()
                        
                        print(file)
                        #7 Добавить данные LAC и BCF в таблицу:

            else:
                #print("TRUE")
                continue

Весь мой код здесь: https://github.com/it38dato/FillingInDataForTheSit...
Это может быть еще связано с тем, что запускаю программу через git bash? просто другого способа запуска у меня нету.
  • Вопрос задан
  • 97 просмотров
Решения вопроса 1
@Dato38it Автор вопроса
Вот так код перепсал. не знаю провально л нет. но работает:
#print("Это выгрузка из всех сайтов RDB")
                        print("Считываю данные со всех базовых станций:")
                        #print(kmlfile)                        
                        needdir = netpath+alldir+"/"+kmlfile
                        #print(needdir)
                        #with open(kmlfile,"r", encoding="utf8") as rdbfile:
                        with open(needdir,"r", encoding="utf8") as rdbfile:
                            file = rdbfile.read()
                        #print(file)
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы