Split File Fullpath Into Parts Xah Lee, 20051016
Often, we are given a file fullpath and we need to split it into the directory name and file name. The file name is often split into a core part and a extension part. For example: '/Users/t/web/perl-python/I_Love_You.html' becomes '/Users/t/web/perl-python/' (directory name) 'I_Love_You' (file's base name) '.html' (file's “extension”) Depending on the language, some language will remove the trailing slash after the dir name, and some will omit the dot before the suffix. In Python, to split a full path into parts is done with the os.path module. Example: # python import os.path myPath = '/Users/t/web/perl-python/I_Love_You.html' (dirName, fileName) = os.path.split(myPath) (fileBaseName, fileExtension)=os.path.splitext(fileName) print dirName # /Users/t/web/perl-python print fileName # I_Love_You.html print fileBaseName # I_Love_You print fileExtension # .html The official doc of the os.path module is at: http://www.python.org/doc/2.4.1/lib/module-os.path.html In Perl, spliting a full path into parts is done like this: # perl use File::Basename; $myPath = '/Users/t/web/perl-python/I_Love_You.html'; ($fileBaseName, $dirName, $fileExtension) = fileparse($myPath, ('\.html') ); print $fileBaseName, "\n"; # I_Love_You print $dirName, "\n"; # /Users/t/web/perl-python/ print $fileExtension, "\n"; # .html Note: the second argument to fileparse() is a list of regex. In particular, you need to escape the dot. For the official doc, type in command line: “perldoc File::Path”. ------ This post is archived at http://xahlee.org/perl-python/split_fullpath.html Schemers, a scsh version will be appreciated. Xah [EMAIL PROTECTED] ∑ http://xahlee.org/ -- http://mail.python.org/mailman/listinfo/python-list