## os.path module #### The os.path module from the os module - **os.path** the module used for common pathname manipulation. - This module implements some useful functions on pathnames. - Different operating systems have different pathname conventions. different path styles: ``` - posixpath for UNIX-style paths - ntpath for Windows paths - macpath for old-style MacOS paths ``` #### import os.path module - Instead of directly importing the os.path name module first import os root module and access os.path from it. ```python #import os module import os ``` use os.path for further operation Get documentation of os.path ```python #import os module import os #Get help Documentation of os.path print(help(os.path)) #Get Avialable Function list in os.path module print(dir(os.path)) ``` Important Function in os.path Module #### 1.curdir(): - Return a period - An attribute reference is a primary followed by a period and a name: attributeref ::= primary "." identifier primary must evaluate to an object of a type that supports attribute references, which most objects do. This object is then asked to produce the attribute whose name is the identifier Example: ```python #import os #get curdir print(os.path.curdir) ``` Output: ``` . ``` #### 2.abspath: - Return an absolute path. - Normally it joins using normspath **os.getcwd()** and path and return it. Syntax: ```python os.path.abspath(path) # path parameter is mandatory ``` Example: ```python import os #path path=r"C:/Test" print(os.path.abspath(path)) ``` Output: ``` currentdirectorypath/C:/Test ``` #### 3.basename: - Returns the lat component of given path. Consider following example ``` fullpath:"C:/Test/final" basename:final full_path:"C:/Test/final/" basename: full_path:"C:/Test/final/filename.txt" basename:filename.txt ``` Syntax: ```python os.path.basename(path) ``` Example: ``` #Import Required module import os #Full path full_path=r"C:/Test/final/filename.txt" #Get basename basename=os.path.basename(full_path) print(basename) ``` Output: ``` filename.txt ``` #### 4.commonpath - From 2 given path, returns the longest common sub-path. Consider ``` path1="C:/test/folder/amaze" path2="C:/test/folder" commonpath:C:/test/folder ``` Syntax: ```python os.path.commonpath(['path1','path2','path3']) ``` Example: ```python # import require module import os #path list paths=['/usr/lib', '/usr/local/lib'] #To get Common Path common=os.path.commonpath(paths) #print the commonpath print(common) ``` Ouput: ``` /usr ``` #### 5.commonprefix() - From a list of pathnames, returns the longest common leading path. Consider following Example ``` path1="C:/test/folder/amaze" path2="C:/test/fntl/test" commonprefix path:C:/test/f ``` Syntax: ```python os.path.commonprefix(['path1','path2']) ``` Example: ```python # import require dmodule import os #Initialize paths path1="C:/test/folder/amaze" path2="C:/test/fntl/test" #get common prefix in path comonprefix=os.path.commonprefix([path1,path2]) #print Common prefix path print(comonprefix) ``` OutPut: ``` C:/test/f ``` #### 6.dirname: - Return the directory path of given pathname Consider ``` pathname="C:/test/folder/amaze.txt" dirname:C:/test/folder ``` Syntax: ```python os.path.dirname('path') ``` Example: ```python # import require dmodule import os #Initialize paths path1="C:/test/folder/amaze.txt" #Get dir name name=os.path.dirname(path1) #print the dirname print(name) ``` OutPut: ``` C:/test/folder ``` #### 7.exists - Return True if the given pathname is existed otherwise return False Syntax: ``` os.path.exists('pathname') ``` Example: ```python import os path=r"C:/test/folder/amaze.txt" print(os.path.exists(path)) ``` Output: ``` False ``` #### 8.isfile - Return True if the given pathname is a file Syntax: ```python os.path.isfile(path) ``` Example: ```python import os path=r"C:/test/folder/amaze.txt" print(os.path.isfile(path)) #Result is True if that file exists and it is a file otherwise False ``` Output: ``` True ``` #### 9.isdir - Return True if the given pathname is a directory Syntax: ```python os.path.isdir(path) ``` Example: ```python import os path=r"C:/test/folder" print(os.path.isdir(path)) #Result is True if that directory exists and it is a directory otherwise False ``` Output: ``` True ``` #### 10.join: - join two or more pathname paths, by inserting **'/'** as needed. Syntax: ```python os.path.join(path1,path2) ``` Example: ```python #import required module import os path1=r"c:" path2=r"foldername" #join path1 and path2 joined_path=os.path.join(path1,path2) print(joined_path) ``` Output: ``` c:/foldername ``` #### 11.split: - split(path) Return a tuple containing (head,tail) **tail**: where the tail is everything after the final slash may be empty sometime - The tail part will never contain a slash. - If the path is empty, both head and tail are empty. Syntax: ```python os.path.split() ``` Example: ```python #import required module import os #Simple Example 1 path1=r"C:/Test/help.txt" splited_path1=os.path.split(path1) print(splited_path1) #Result:('C:/Test', 'help.txt') #Example 2 path2=r"C:/Test/" splited_path2=os.path.split(path2) print(splited_path2) #Result:('C:/Test', '') #Example 3 path3=r"" splited_path3=os.path.split(path3) print(splited_path3) #Result:('', '') ``` Output: ``` ('C:/Test', 'help.txt') ('C:/Test', '') ('', '') ``` Some Other Important os.path available Function **12.splitdrive:** - Split a pathname into drive and path, **13.splittext** - Split the extension from a pathname. **14.relpath(path, start=os.curdir)** - Return a relative filepath to path either from the current directory or from an optional start directory