path_hack.py lets you see the results of several os.path calls.

import os print('=' * 40) print(os.curdir) print(os.getcwd()) print(os.path.abspath(os.getcwd())) print(os.path.realpath(os.getcwd())) print(os.path.relpath(os.getcwd(), os.path.expanduser('~'))) print('=' * 20) home_dir = os.path.expanduser('~') print('home_dir', home_dir) assert os.path.expanduser(os.environ['HOME']) == home_dir, 'Always True?' assert os.path.expanduser(os.environ.get('HOME')) == home_dir, 'Always True?' docs_dir = os.path.expanduser('~/Documents') print('docs_dir', docs_dir) script_dir, script_name = os.path.split(__file__) print('script_dir', script_dir, 'script_name', script_name) app_path = os.path.abspath(os.path.join(os.__file__, '../..')) print('app_path', app_path) print('=' * 20) print('\n'.join(file_or_folder_name for file_or_folder_name in os.listdir(os.curdir))) print('=' * 20) print('\n'.join(file_or_folder_name for file_or_folder_name in os.listdir(home_dir))) print('=' * 20) print('\n'.join(folder_name for folder_name in os.listdir(home_dir) if os.path.isdir(os.path.join(home_dir, folder_name)))) print('=' * 20) print('\n'.join(file_name for file_name in os.listdir(home_dir) if os.path.isfile(os.path.join(home_dir, file_name)))) # also see: files_and_folders.py and cd_ls_pwd.py in https://github.com/cclauss/Ten-lines-or-less