В python 3 есть полезный модуль pathlib для формирование путей в файловой системе.
Сравните пример
# python 2
import os
directory = "/home/user/temp/"
filepath = os.path.join(directory, "data.csv")
if os.path.exists(filepath):
print('exist')
# python 3
from pathlib import Path
directory = Path("/home/user/temp/")
filepath = directory / "data.csv"
if filepath.exists():
print('exist')
Для python 2 можно установить командой pip2 install pathlib.
Получить домашний каталог текущего пользователя
Path.home()
Разбить путь на части
from pathlib import PurePath
PurePath("/home/user/temp/").parts
# ('/', 'home', 'user', 'temp')
Записать строку в файл и закрыть файл
p = Path('hw.txt')
p.write_text('Hello world')
Прочитать строку из файла
p = Path('hw.txt')
line = p.read_text()
Еще пример
> from pathlib import Path
> p = Path("/usr/lib/python2.5/gopherlib.py")
> p.parent
PosixPath('/usr/lib/python2.5')
> p.name
'gopherlib.py'
> p.suffix
'.py'
> p.stem
'gopherlib'
Описание тут.