LINUX.ORG.RU

[python] __file__

 


0

0

часто натыкаюсь на примеры в которых используется __file__, например

import os
DMIGRATIONS_DIR = os.path.join(os.path.dirname(__file__), 'migrations')

но у меня __file__ выводит просто имя файла, а os.path.dirname(__file__) соответственно выдает пустой результат, собственно где почитать то про это?

Какой такой "пустой результат"? Она выдает директорию, содержащую файл, относительно текущей рабочей директории.

Используй os.path.abspath, если тебе нужно абсолютизировать путь.

anonymous4
()
Ответ на: комментарий от anonymous4

den@den-netbook:~/work$ cat 123.py 
import os
print(__file__)
print(os.path.dirname(__file__))
den@den-netbook:~/work$ python 123.py 
123.py

den@den-netbook:~/work$

или я чего-то пропустил?

z0D5e8n7x_2
() автор топика
Ответ на: комментарий от z0D5e8n7x_2

Тьфу, да что ты никак не поймешь. os.path.dirname(__file__) == путь к директории, содержащей исполняемый файл, _относительно_текущей_рабочей_директории_. Если эти две директории - это одна директория, то путь равен пустой строке.

Попробуй

$ cd ..
$ python work/123.py

anonymous4
()
Ответ на: комментарий от anonymous4

о млин, убейте меня, я такой невнимательный

зы. спасибо

z0D5e8n7x_2
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.