@danis_2014

Как правильно указывать относительные пути к файлам в Python?

Очень часто вылезают ошибки при работе с файлами. Вот несколько из них:
os.listdir(r'png')

#FileNotFoundError: [WinError 3] Системе не удается найти указанный путь: 'png'

Скрипт запускается из под консоли. Папка точно находится в одной директории с исполняемым файлом. Еще странно то, что при запуске из PyCharm все нормально работает. Вот еще пример:

sftp.put(r'data.txt', r'/root/vk-ali/data.txt')
sftp.put(r'album1.txt', r'/root/vk-ali/album1.txt')
sftp.put(r'C:\Users\danis\AppData\Local\Programs\Python\Python36-32\Lib\vk_ali\desktop\posts1.txt',  # ошибка
             r'/root/vk-ali/posts1.txt')  # ошибка
sftp.put(r'C:\Users\danis\AppData\Local\Programs\Python\Python36-32\Lib\vk_ali\desktop\posts2.txt',  # ошибка                                             
             r'/root/vk-ali/posts2.txt')  # ошибка
sftp.put(r'album2.txt', r'/root/vk-ali/album2.txt')


#FileNotFoundError: [WinError 2] Системе не удается найти указанный файл 'posts1.txt'


Тут все нормально работает кроме строк с комментарием. В них я указал полный путь, т.к. при указании относительного python выдает ошибку. И опять же, в PyCharm все запускалось и без полного пути.

Как правильно указывать относительные пути к файлам в Python?

РЕШЕНО:

Проблема оказалась в местоположении консоли, спасибо, Sayonji
  • Вопрос задан
  • 7930 просмотров
Пригласить эксперта
Ответы на вопрос 1
dimonchik2013
@dimonchik2013
non progredi est regredi
изучай

dir_path = os.path.dirname(os.path.realpath(__file__))
или
dir_path = os.path.dirname(os.path.abspath(os.path.join(os.path.realpath(__file__), os.pardir)))
Ответ написан
Ваш ответ на вопрос

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

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