OS.Path работает из записной книжки Jypyter, а не из автономного скрипта - PullRequest
1 голос
/ 11 марта 2020

У меня есть записная книжка Jyputer со следующим кодом

import os
execution_path = os.path.join(os.getcwd()+'\\', "BillingInfo.xlsx")
print(os.getcwd())
print(execution_path)

Вывод этого кода

C:\Users\mys2kor
C:\Users\mys2kor\BillingInfo.xlsx

Я копирую этот точный тот же файл в на мой рабочий стол в виде python сценария (имя файла OSpath.py) и запустите его из командной строки Anaconda, и вы получите

C:\
C:\\BillingInfo.xlsx

Почему это различие? Что я делаю неправильно? Мне нужен тот же вывод, что и в записной книжке Jupyter, даже когда я запускаю скрипт самостоятельно.

1 Ответ

1 голос
/ 11 марта 2020

os.getcwd() возвращает текущий каталог запущенного процесса. Когда вы используете jupyter, текущий рабочий процесс находится там, где находится ваш ноутбук. Когда вы запускаете сценарий python, местоположение текущего запущенного процесса - это каталог, из которого вы выполнили команду python, здесь и приглашение anaconda, которое находится в вашем C:\.

Если вам нужно абсолютный путь к файлу, я бы рекомендовал использовать значение __file__, когда вы находитесь за пределами ноутбука.

...