This package provides portable functions to manipulate filenames.
When this package is loaded, it also computes a number of useful
variables indicating where the various Torch components are installed.
Do not change their values.
The following functions can be used to manipulate filenames in a portable way over multiple platforms.
### paths.filep(path) ###Return a boolean indicating whether path
refers to an existing file.
Return a boolean indicating whether path
refers to an existing directory.
Return the last path component of path
and optionally strip the suffix suffix
.
This is similar to the well know shell command "basename"
.
Return the name of directory containing file path
.
This is similar to the well known shell command "dirname"
.
Return the extension of the path
or nil if none is found.
Concatenates relative filenames.
First this function computes the full filename
of path1
relative to the current directory.
Then it successively computes the full filenames
of arguments path2
to pathn
relative to
the filename returned for the previous argument.
Finally the last result is returned.
Calling this function without argument returns the full name of the current directory.
### paths.cwd() ###Return the full path of the current directory.
### paths.execdir() ###Return the name of the directory containing the
current Lua executable.
When the module paths
is first loaded,
this information is used to relocate
the variables indicating
the location of the various Torch components.
Return the name of a temporary file. All the temporaty files whose name was obtained in this way are removed when Lua exits.
This function should be preferred over os.tmpname()
because it makes sure that the files are removed on exit.
In addition, os.tmpname()
under windows often returns filenames
for which the user has no permission to write.
The following functions can be used to examine directory contents or manipulate directories.
### paths.dir(dname) ###Return a table containing the files in directory dname
.
This function return nil
if the specified directory
does not exists.
Returns an iterator over the files located in directory dname
.
This can be used in for expression as shown below:
for f in paths.files(".") do
print(f)
end
Create a directory.
Returns true
on success.
Delete an empty directory.
Returns true
on success.
Recursively delete file or directory s
and its contents.
Argument y
must be string "yes"
Returns true
on success.
Calling paths.thisfile()
without argument
inside a lua file returns returns the full
pathname of the file from which it is called.
This function always returns nil
when called
interactively.
Calling paths.thisfile(arg)
with a string argument arg
returns the full pathname of the file arg
relative
to the directory containing the file from which
function paths.thisfile
is invoked. This is useful,
for instance, to locate files located in the same
directory as a lua script.
This function is similar to the standard Lua function dofile
but interprets filename
relative to the directory containing
the file that contains the call to paths.dofile
,
or to the current directory when paths.dofile
is
called interactively.
These variables indicate where the various Torch components are installed.
It is not advisable to change their values!
The base directory of the Torch installation.
### paths.install_bin ###The name of the directory containing the executable programs.
Under Windows, this directory also contains
the dynamically loadable libraries (.dll
).
The name of the directory containing the unix style manual pages.
### paths.install_lib ###The name of the directory containing the object code libraries.
Under Unix, this directory also contains the dynamically
loadable libraries (.so
or .dylib
).
The name of the directory containing processor independent data files, such as lua code and other text files.
### paths.install_include ###The name of the directory containing the include files for the various Torch libraries.
### paths.install_hlp ###The name of the directory containing the Torch help files.
### paths.install_html ###The name of the directory containing the HTML version
of the Torch help files. These files are generated
when you enable the CMake option HTML_DOC
.
The name of the directory containing the CMake files used by external Torch modules.
### paths.install_lua_path ###The name of the directory containing the Lua packages.
This directory is used to build variable package.path
.
The name of the directory containing the Lua loadable binary modules.
This directory is used to build variable package.cpath
.
The home directory of the current user.
## Miscellaneous ## ### paths.uname() ###Returns up to three strings describing the operating system. The first string is a system name, e.g., "Windows", "Linux", "Darwin", "FreeBSD", etc. The second string is the network name of this computer. The third string indicates the processor type.
### paths.is_win() ###Returns true if the operating system is Microsoft Windows.
### paths.is_mac() ###Returns true if the operating system is Mac OS X.
Query a value in the Windows registry value. Causes an error on other systems.
Finds an executable program named "progname" and returns its full path. If none is found, continue searching programs named after the following arguments and return the full path of the first match. All the directories specified by the PATH variable are searched. Under windows, this also searches the "App Path" registry entries.