What is the difference between
I already searched for answers and read some links, but didn’t understand.
Can anyone give a simple explanation?
Both functions use the
os.path.split(path) function to split the pathname
path into a pair;
os.path.dirname(path) function returns the head of the path.
E.g.: The dirname of
os.path.basename(path) function returns the tail of the path.
E.g.: The basename of
To summarize what was mentioned by Breno above
Say you have a variable with a path to a file
path = '/home/User/Desktop/myfile.py'
os.path.basename(path) returns the string
os.path.dirname(path) returns the string
'/home/User/Desktop' (without a trailing slash ‘/’)
These functions are used when you have to get the filename/directory name given a full path name.
In case the file path is just the file name (e.g. instead of
path = '/home/User/Desktop/myfile.py' you just have
os.path.dirname(path) returns an empty string.