Я понимаю, что второе - это текущая рабочая директория (Current Workin Directory). Но мне не удалось добиться того, чтобы эти две вещи стали разными.
cd /home/user/
python
>>> import os
>>> os.path.abspath(os.path.dirname('__file__'))
'/home/user/'
>>> os.getcwd()
'/home/user/'
>>> os.chdir('/home/user/python/')
>>> os.path.abspath(os.path.dirname('__file__'))
'/home/user/python/'
>>> os.getcwd()
'/home/user/python/'
Вроде “скрипт” запущен из /home/user, но при смене текущей директории os.path.abspath(os.path.dirname('__file__')) выдает текущую рабочую директорию, а не директорию скрипта (вышеприведенный код я и в скрипт размещал).