This module implements some useful functions on pathnames. The path parameters can be passed as either strings, or bytes. Applications are encouraged to represent file names as (Unicode) character strings.
Join Paths
To join two or more path components together, firstly import os module of python and then use following:
import os temp = os.path.join('a', 'b', 'c') print(temp) # OUTPUT: a/b/c
The advantage of using os.path is that it allows code to remain compatible over all operating systems, as this uses the separator appropriate for the platform it’s running on.
Path Component Manipulation
To split one component off of the path:
>>> import os >>> temp = os.path.join(os.getcwd(), 'FcuktheCode.txt') >>> temp '/home/legacyboy/Desktop/FcuktheCode.txt' >>> os.path.dirname(temp) '/home/legacyboy/Desktop' >>> os.path.basename(temp) 'FcuktheCode.txt' >>> os.path.split(os.getcwd()) ('/home/legacyboy', 'Desktop') >>> os.path.splitext(os.path.basename(temp)) ('FcuktheCode', '.txt')
ILLUSTRATION
Get the parent directory
>>> os.path.abspath(os.path.join(os.getcwd(), os.pardir)) '/home/legacyboy' ''' Syntax >>> os.path.abspath(os.path.join(PATH_TO_GET_THE_PARENT, os.pardir)) '''
If the given path exists
to check if the given path exists
path = '/Home/fcukthecode/file_1' os.path.exists(path) #this returns false if path doesn't exist or if the path is a broken symbolic link
ILLUSTRATION
check if the given path is a directory, file, symbolic link, mount point etc
to check if the given path is a directory
#these returns false or true #to check if the given path is a directory dirname = '/Home/fcukthecode/python' os.path.isdir(dirname) #to check if the given path is a file filename = dirname + 'main.py' os.path.isfile(filename) #to check if the given path is symbolic link symlink = dirname + 'some_sym_link' os.path.islink(symlink) #to check if the given path is a mount point mount_path = '/Home' os.path.ismount(mount_path)
ILLUSTRATION
Absolute Path from Relative Path
Use os.path.abspath :
>>> import os >>> os.getcwd() '/home/legacyboy/Desktop' >>> os.path.abspath('fcukthecode') '/home/legacyboy/Desktop/fcukthecode' >>> os.path.abspath('../overlord') '/home/legacyboy/overlord' >>> os.path.abspath('/overlord') '/overlord'
ILLUSTRATION