Hi,
Given a string representing the path to a file, what is the best way to
get at the filename? Does the OS module provide a function to parse the
path? or is it acceptable to split the string using '/' as delimiters
and get the last 'word'. The reason I'm not entirely happy with that
method is that it is platform specific. I would prefer to use a built
in method if possible.
Cheers,
Rob Cowie 2 23294
>>> import os.path help(os.path)
Help on module ntpath:
NAME
ntpath - Common pathname manipulations, WindowsNT/95 version.
FILE
c:\data\utils\python24\lib\ntpath.py
DESCRIPTION
Instead of importing this module directly, import os and refer to
this
module as os.path.
FUNCTIONS
abspath(path)
Return the absolute version of a path
basename(p)
Returns the final component of a pathname
commonprefix(m)
Given a list of pathnames, returns the longest common leading
component
dirname(p)
Returns the directory component of a pathname
exists(path)
Test whether a path exists
expanduser(path)
Expand ~ and ~user constructs.
If user or $HOME is unknown, do nothing.
expandvars(path)
Expand shell variables of form $var and ${var}.
Unknown variables are left unchanged.
getatime(filename)
Return the last access time of a file, reported by os.stat()
getctime(filename)
Return the creation time of a file, reported by os.stat().
getmtime(filename)
Return the last modification time of a file, reported by
os.stat()
getsize(filename)
Return the size of a file, reported by os.stat()
isabs(s)
Test whether a path is absolute
isdir(path)
Test whether a path is a directory
isfile(path)
Test whether a path is a regular file
islink(path)
Test for symbolic link. On WindowsNT/95 always returns false
ismount(path)
Test whether a path is a mount point (defined as root of drive)
join(a, *p)
Join two or more pathname components, inserting "\" as needed
normcase(s)
Normalize case of pathname.
Makes all characters lowercase and all slashes into
backslashes.
normpath(path)
Normalize path, eliminating double slashes, etc.
realpath = abspath(path)
Return the absolute version of a path
split(p)
Split a pathname.
Return tuple (head, tail) where tail is everything after the
final slash.
Either part may be empty.
splitdrive(p)
Split a pathname into drive and path specifiers. Returns a
2-tuple
"(drive,path)"; either part may be empty
splitext(p)
Split the extension from a pathname.
Extension is everything from the last dot to the end.
Return (root, ext), either part may be empty.
splitunc(p)
Split a pathname into UNC mount point and relative path
specifiers.
Return a 2-tuple (unc, rest); either part may be empty.
If unc is not empty, it has the form '//host/mount' (or similar
using backslashes). unc+rest is always the input path.
Paths containing drive letters never have an UNC part.
walk(top, func, arg)
Directory tree walk with callback function.
For each directory in the directory tree rooted at top
(including top
itself, but excluding '.' and '..'), call func(arg, dirname,
fnames).
dirname is the name of the directory, and fnames a list of the
names of
the files and subdirectories in dirname (excluding '.' and
'..'). func
may modify the fnames list in-place (e.g. via del or slice
assignment),
and walk will only recurse into the subdirectories whose names
remain in
fnames; this can be used to implement a filter, or to impose a
specific
order of visiting. No semantics are defined for, or required
of, arg,
beyond that arg is always passed to func. It can be used,
e.g., to pass
a filename pattern, or a mutable object designed to accumulate
statistics. Passing None for arg is common.
DATA
__all__ = ['normcase', 'isabs', 'join', 'splitdrive', 'split',
'splite...
altsep = '/'
curdir = '.'
defpath = r'.;C:\bin'
devnull = 'nul'
extsep = '.'
pardir = '..'
pathsep = ';'
sep = r'\'
supports_unicode_filenames = True
Rob Cowie wrote: Hi,
Given a string representing the path to a file, what is the best way to get at the filename? Does the OS module provide a function to parse the path? or is it acceptable to split the string using '/' as delimiters and get the last 'word'. The reason I'm not entirely happy with that method is that it is platform specific. I would prefer to use a built in method if possible.
Cheers,
Rob Cowie
Thanks,
os.path.basename(filePath) it is then.
BTW, the help(module) function is new to me! Must have missed it when
reading the tutorial.
Cheers! This thread has been closed and replies have been disabled. Please start a new discussion. Similar topics
by: Don |
last post by:
How do I retrieve the full path (C:\.....filename) of a file uploaded to a php script on the server.
I think $_FILES will only provide 'name', which is only the filename itself.
Thanks, Don
...
|
by: VM |
last post by:
How can I retrieve the whole directory where my exe is located?
I would've thought Directory.GetCurrentDirectory worked but any event that
may change the dir (eg. OpenFileDialog or SaveFileDialog)...
|
by: Csharper95 |
last post by:
I want to get the file name and path from a SaveFileDialog (for a
'save as' operation) after the user has saved the information under a
new file name (and presumably under a new path) ?
I want...
|
by: Dean McCarten |
last post by:
I Need to Retrieve the UNC Path of Mapped Drives on a Client Machine's (NT4 + y2k) on my Network, but I have been unsuccessful so far and I find seem to find a way to do this, any idea anyone
I...
|
by: Jon Pope |
last post by:
I've got a web service which can be installed by a customer within a virtual
folder whose name is defined by them during installation. For example, the
path to the web service could be:
...
|
by: psbasha |
last post by:
Hi,
I would like to get the path of the given file name.
Say
I/P:
C:\Sample\Sample1.txt
|
by: SpreadTooThin |
last post by:
After I select a file with the OpenFileDialog, I get the file name
with .FileName,
but I want to know the drive and path where that file is.
What function, method, class can I use in C# to get the...
|
by: =?Utf-8?B?SmFtZXM=?= |
last post by:
Hi, I am aware of 256 characters path limit in naming a file, but can you
help me how to limit the path for file naming to 240 characters only? is
there a way to limit that in registry editor or is...
|
by: lllomh |
last post by:
Define the method first
this.state = {
buttonBackgroundColor: 'green',
isBlinking: false, // A new status is added to identify whether the button is blinking or not
}
autoStart=()=>{
|
by: DJRhino |
last post by:
Was curious if anyone else was having this same issue or not....
I was just Up/Down graded to windows 11 and now my access combo boxes are not acting right. With win 10 I could start typing...
|
by: Aliciasmith |
last post by:
In an age dominated by smartphones, having a mobile app for your business is no longer an option; it's a necessity. Whether you're a startup or an established enterprise, finding the right mobile app...
|
by: tracyyun |
last post by:
Hello everyone,
I have a question and would like some advice on network connectivity. I have one computer connected to my router via WiFi, but I have two other computers that I want to be able to...
|
by: giovanniandrean |
last post by:
The energy model is structured as follows and uses excel sheets to give input data:
1-Utility.py contains all the functions needed to calculate the variables and other minor things (mentions...
|
by: isladogs |
last post by:
The next Access Europe meeting will be on Wednesday 1 Nov 2023 starting at 18:00 UK time (6PM UTC) and finishing at about 19:15 (7.15PM)
Please note that the UK and Europe revert to winter time on...
|
by: nia12 |
last post by:
Hi there,
I am very new to Access so apologies if any of this is obvious/not clear.
I am creating a data collection tool for health care employees to complete. It consists of a number of...
|
by: NeoPa |
last post by:
Introduction
For this article I'll be focusing on the Report (clsReport) class. This simply handles making the calling Form invisible until all of the Reports opened by it have been closed, when it...
|
by: GKJR |
last post by:
Does anyone have a recommendation to build a standalone application to replace an Access database? I have my bookkeeping software I developed in Access that I would like to make available to other...
| |