mirror of https://github.com/python/cpython.git
Fix the os/posix documentation issue.
This commit is contained in:
parent
dda199b261
commit
215fe2f204
|
@ -1,5 +1,5 @@
|
|||
\section{\module{os} ---
|
||||
Miscellaneous OS interfaces.}
|
||||
Miscellaneous OS interfaces}
|
||||
\declaremodule{standard}{os}
|
||||
|
||||
\modulesynopsis{Miscellaneous OS interfaces.}
|
||||
|
@ -7,16 +7,16 @@
|
|||
|
||||
This module provides a more portable way of using operating system
|
||||
(OS) dependent functionality than importing an OS dependent built-in
|
||||
module like \module{posix}.
|
||||
module like \module{posix} or \module{nt}.
|
||||
|
||||
When the optional built-in module \module{posix} is available, this
|
||||
module exports the same functions and data as \module{posix}; otherwise,
|
||||
it searches for an OS dependent built-in module like \module{mac} and
|
||||
exports the same functions and data as found there. The design of all
|
||||
Python's built-in OS dependent modules is such that as long as the same
|
||||
functionality is available, it uses the same interface; e.g., the
|
||||
function \code{os.stat(\var{file})} returns stat info about \var{file}
|
||||
in a format compatible with the \POSIX{} interface.
|
||||
This module searches for an OS dependent built-in module like
|
||||
\module{mac} or \module{posix} and exports the same functions and data
|
||||
as found there. The design of all Python's built-in OS dependent
|
||||
modules is such that as long as the same functionality is available,
|
||||
it uses the same interface; e.g., the function
|
||||
\code{os.stat(\var{path})} returns stat information about \var{path}
|
||||
in the same format (which happens to have originated with the \POSIX{}
|
||||
interface).
|
||||
|
||||
Extensions peculiar to a particular OS are also available through the
|
||||
\module{os} module, but using them is of course a threat to
|
||||
|
@ -27,22 +27,752 @@ Note that after the first time \module{os} is imported, there is
|
|||
instead of directly from the OS dependent built-in module, so there
|
||||
should be \emph{no} reason not to use \module{os}!
|
||||
|
||||
In addition to whatever the correct OS dependent module exports, the
|
||||
following variables and functions are always exported by \module{os}:
|
||||
|
||||
\begin{excdesc}{error}
|
||||
This exception is raised when a function returns a
|
||||
system-related error (e.g., not for illegal argument types). This is
|
||||
also known as the built-in exception \exception{OSError}. The
|
||||
accompanying value is a pair containing the numeric error code from
|
||||
\cdata{errno} and the corresponding string, as would be printed by the
|
||||
C function \cfunction{perror()}. See the module
|
||||
\refmodule{errno}\refbimodindex{errno}, which contains names for the
|
||||
error codes defined by the underlying operating system.
|
||||
|
||||
When exceptions are classes, this exception carries two attributes,
|
||||
\member{errno} and \member{strerror}. The first holds the value of
|
||||
the C \cdata{errno} variable, and the latter holds the corresponding
|
||||
error message from \cfunction{strerror()}. For exceptions that
|
||||
involve a file system path (e.g. \function{chdir()} or
|
||||
\function{unlink()}), the exception instance will contain a third
|
||||
attribute, \member{filename}, which is the file name passed to the
|
||||
function.
|
||||
|
||||
When exceptions are strings, the string for the exception is
|
||||
\code{'OSError'}.
|
||||
\end{excdesc}
|
||||
|
||||
\begin{datadesc}{name}
|
||||
The name of the OS dependent module imported. The following names
|
||||
have currently been registered: \code{'posix'}, \code{'nt'},
|
||||
\code{'dos'}, \code{'mac'}.
|
||||
\code{'dos'}, \code{'mac'}, \code{'os2'}.
|
||||
\end{datadesc}
|
||||
|
||||
\begin{datadesc}{path}
|
||||
The corresponding OS dependent standard module for pathname
|
||||
operations, e.g., \module{posixpath} or \module{macpath}. Thus, (given
|
||||
the proper imports), \code{os.path.split(\var{file})} is equivalent to but
|
||||
more portable than \code{posixpath.split(\var{file})}.
|
||||
operations, e.g., \module{posixpath} or \module{macpath}. Thus, given
|
||||
the proper imports, \code{os.path.split(\var{file})} is equivalent to but
|
||||
more portable than \code{posixpath.split(\var{file})}. Note that this
|
||||
is also a valid module: it may be imported directly as
|
||||
\refmodule{os.path}.
|
||||
\end{datadesc}
|
||||
|
||||
|
||||
|
||||
\subsection{Process Parameters \label{os-procinfo}}
|
||||
|
||||
These functions and data items provide information and operate on the
|
||||
current process and user.
|
||||
|
||||
\begin{funcdesc}{chdir}{path}
|
||||
Change the current working directory to \var{path}.
|
||||
Availability: Macintosh, \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{datadesc}{environ}
|
||||
A mapping representing the string environment. For example,
|
||||
\code{environ['HOME']} is the pathname of your home directory,
|
||||
equivalent to \code{getenv("HOME")} in C.
|
||||
|
||||
If the platform supports the \function{putenv()} function, this
|
||||
mapping may be used to modify the environment as well as query the
|
||||
environment. \function{putenv()} will be called automatically when
|
||||
the mapping is modified.
|
||||
|
||||
If \function{putenv()} is not provided, this mapping may be passed to
|
||||
the appropriate process-creation functions to cause child processes to
|
||||
use a modified environment.
|
||||
\end{datadesc}
|
||||
|
||||
\begin{funcdesc}{getcwd}{}
|
||||
Return a string representing the current working directory.
|
||||
Availability: Macintosh, \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{getegid}{}
|
||||
Return the current process' effective group id.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{geteuid}{}
|
||||
Return the current process' effective user id.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{getgid}{}
|
||||
Return the current process' group id.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{getpgrp}{}
|
||||
\index{process!group}
|
||||
Return the current process group id.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{getpid}{}
|
||||
\index{process!id}
|
||||
Return the current process id.
|
||||
Availability: \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{getppid}{}
|
||||
\index{process!id of parent}
|
||||
Return the parent's process id.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{getuid}{}
|
||||
\index{user id}
|
||||
Return the current process' user id.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{putenv}{varname, value}
|
||||
\index{environment variables!setting}
|
||||
Set the environment variable named \var{varname} to the string
|
||||
\var{value}. Such changes to the environment affect subprocesses
|
||||
started with \function{os.system()}, \function{popen()} or
|
||||
\function{fork()} and \function{execv()}.
|
||||
Availability: most flavors of \UNIX{}, Windows.
|
||||
|
||||
When \function{putenv()} is
|
||||
supported, assignments to items in \code{os.environ} are automatically
|
||||
translated into corresponding calls to \function{putenv()}; however,
|
||||
calls to \function{putenv()} don't update \code{os.environ}, so it is
|
||||
actually preferable to assign to items of \code{os.environ}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{setgid}{gid}
|
||||
Set the current process' group id.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{setpgrp}{}
|
||||
Calls the system call \cfunction{setpgrp()} or \cfunction{setpgrp(0,
|
||||
0)} depending on which version is implemented (if any). See the
|
||||
\UNIX{} manual for the semantics.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{setpgid}{pid, pgrp}
|
||||
Calls the system call \cfunction{setpgid()}. See the \UNIX{} manual
|
||||
for the semantics.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{setsid}{}
|
||||
Calls the system call \cfunction{setsid()}. See the \UNIX{} manual
|
||||
for the semantics.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{setuid}{uid}
|
||||
Set the current process' user id.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
% placed in this section since it relates to errno.... a little weak ;-(
|
||||
\begin{funcdesc}{strerror}{code}
|
||||
Return the error message corresponding to the error code in
|
||||
\var{code}.
|
||||
Availability: \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{umask}{mask}
|
||||
Set the current numeric umask and returns the previous umask.
|
||||
Availability: \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{uname}{}
|
||||
Return a 5-tuple containing information identifying the current
|
||||
operating system. The tuple contains 5 strings:
|
||||
\code{(\var{sysname}, \var{nodename}, \var{release}, \var{version},
|
||||
\var{machine})}. Some systems truncate the nodename to 8
|
||||
characters or to the leading component; a better way to get the
|
||||
hostname is \function{socket.gethostname()}
|
||||
\withsubitem{(in module socket)}{\ttindex{gethostname()}}
|
||||
or even
|
||||
\withsubitem{(in module socket)}{\ttindex{gethostbyaddr()}}
|
||||
\code{socket.gethostbyaddr(socket.gethostname())}.
|
||||
Availability: recent flavors of \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
|
||||
|
||||
\subsection{File Object Creation \label{os-newstreams}}
|
||||
|
||||
These functions create new file objects.
|
||||
|
||||
|
||||
\begin{funcdesc}{fdopen}{fd\optional{, mode\optional{, bufsize}}}
|
||||
Return an open file object connected to the file descriptor \var{fd}.
|
||||
The \var{mode} and \var{bufsize} arguments have the same meaning as
|
||||
the corresponding arguments to the built-in \function{open()}
|
||||
function.
|
||||
Availability: Macintosh, \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{popen}{command\optional{, mode\optional{, bufsize}}}
|
||||
Open a pipe to or from \var{command}. The return value is an open
|
||||
file object connected to the pipe, which can be read or written
|
||||
depending on whether \var{mode} is \code{'r'} (default) or \code{'w'}.
|
||||
The \var{bufsize} argument has the same meaning as the corresponding
|
||||
argument to the built-in \function{open()} function. The exit status of
|
||||
the command (encoded in the format specified for \function{wait()}) is
|
||||
available as the return value of the \method{close()} method of the file
|
||||
object, except that when the exit status is zero (termination without
|
||||
errors), \code{None} is returned.
|
||||
Availability: \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
|
||||
|
||||
\subsection{File Descriptor Operations \label{os-fd-ops}}
|
||||
|
||||
These functions operate on I/O streams referred to
|
||||
using file descriptors.
|
||||
|
||||
|
||||
\begin{funcdesc}{close}{fd}
|
||||
Close file descriptor \var{fd}.
|
||||
Availability: Macintosh, \UNIX{}, Windows.
|
||||
|
||||
Note: this function is intended for low-level I/O and must be applied
|
||||
to a file descriptor as returned by \function{open()} or
|
||||
\function{pipe()}. To close a ``file object'' returned by the
|
||||
built-in function \function{open()} or by \function{popen()} or
|
||||
\function{fdopen()}, use its \method{close()} method.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{dup}{fd}
|
||||
Return a duplicate of file descriptor \var{fd}.
|
||||
Availability: Macintosh, \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{dup2}{fd, fd2}
|
||||
Duplicate file descriptor \var{fd} to \var{fd2}, closing the latter
|
||||
first if necessary.
|
||||
Availability: \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{fstat}{fd}
|
||||
Return status for file descriptor \var{fd}, like \function{stat()}.
|
||||
Availability: \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{fstatvfs}{fd}
|
||||
Return information about the filesystem containing the file associated
|
||||
with file descriptor \var{fd}, like \function{statvfs()}.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{ftruncate}{fd, length}
|
||||
Truncate the file corresponding to file descriptor \var{fd},
|
||||
so that it is at most \var{length} bytes in size.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{lseek}{fd, pos, how}
|
||||
Set the current position of file descriptor \var{fd} to position
|
||||
\var{pos}, modified by \var{how}: \code{0} to set the position
|
||||
relative to the beginning of the file; \code{1} to set it relative to
|
||||
the current position; \code{2} to set it relative to the end of the
|
||||
file.
|
||||
Availability: Macintosh, \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{open}{file, flags\optional{, mode}}
|
||||
Open the file \var{file} and set various flags according to
|
||||
\var{flags} and possibly its mode according to \var{mode}.
|
||||
The default \var{mode} is \code{0777} (octal), and the current umask
|
||||
value is first masked out. Return the file descriptor for the newly
|
||||
opened file.
|
||||
Availability: Macintosh, \UNIX{}, Windows.
|
||||
|
||||
For a description of the flag and mode values, see the C run-time
|
||||
documentation; flag constants (like \constant{O_RDONLY} and
|
||||
\constant{O_WRONLY}) are defined in this module too (see below).
|
||||
|
||||
Note: this function is intended for low-level I/O. For normal usage,
|
||||
use the built-in function \function{open()}, which returns a ``file
|
||||
object'' with \method{read()} and \method{write()} methods (and many
|
||||
more).
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{pipe}{}
|
||||
Create a pipe. Return a pair of file descriptors \code{(\var{r},
|
||||
\var{w})} usable for reading and writing, respectively.
|
||||
Availability: \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{read}{fd, n}
|
||||
Read at most \var{n} bytes from file descriptor \var{fd}.
|
||||
Return a string containing the bytes read.
|
||||
Availability: Macintosh, \UNIX{}, Windows.
|
||||
|
||||
Note: this function is intended for low-level I/O and must be applied
|
||||
to a file descriptor as returned by \function{open()} or
|
||||
\function{pipe()}. To read a ``file object'' returned by the
|
||||
built-in function \function{open()} or by \function{popen()} or
|
||||
\function{fdopen()}, or \code{sys.stdin}, use its
|
||||
\method{read()} or \method{readline()} methods.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{tcgetpgrp}{fd}
|
||||
Return the process group associated with the terminal given by
|
||||
\var{fd} (an open file descriptor as returned by \function{open()}).
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{tcsetpgrp}{fd, pg}
|
||||
Set the process group associated with the terminal given by
|
||||
\var{fd} (an open file descriptor as returned by \function{open()})
|
||||
to \var{pg}.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{ttyname}{fd}
|
||||
Return a string which specifies the terminal device associated with
|
||||
file-descriptor \var{fd}. If \var{fd} is not associated with a terminal
|
||||
device, an exception is raised.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{write}{fd, str}
|
||||
Write the string \var{str} to file descriptor \var{fd}.
|
||||
Return the number of bytes actually written.
|
||||
Availability: Macintosh, \UNIX{}, Windows.
|
||||
|
||||
Note: this function is intended for low-level I/O and must be applied
|
||||
to a file descriptor as returned by \function{open()} or
|
||||
\function{pipe()}. To write a ``file object'' returned by the
|
||||
built-in function \function{open()} or by \function{popen()} or
|
||||
\function{fdopen()}, or \code{sys.stdout} or \code{sys.stderr}, use
|
||||
its \method{write()} method.
|
||||
\end{funcdesc}
|
||||
|
||||
|
||||
The following data items are available for use in constructing the
|
||||
\var{flags} parameter to the \function{open()} function.
|
||||
|
||||
\begin{datadesc}{O_RDONLY}
|
||||
\dataline{O_WRONLY}
|
||||
\dataline{O_RDWR}
|
||||
\dataline{O_NDELAY}
|
||||
\dataline{O_NONBLOCK}
|
||||
\dataline{O_APPEND}
|
||||
\dataline{O_DSYNC}
|
||||
\dataline{O_RSYNC}
|
||||
\dataline{O_SYNC}
|
||||
\dataline{O_NOCTTY}
|
||||
\dataline{O_CREAT}
|
||||
\dataline{O_EXCL}
|
||||
\dataline{O_TRUNC}
|
||||
Options for the \var{flag} argument to the \function{open()} function.
|
||||
These can be bit-wise OR'd together.
|
||||
Availability: Macintosh, \UNIX{}, Windows.
|
||||
\end{datadesc}
|
||||
|
||||
|
||||
\subsection{Files and Directories \label{os-file-dir}}
|
||||
|
||||
\begin{funcdesc}{access}{path, mode}
|
||||
Check read/write/execute permissions for this process or extance of file
|
||||
\var{path}. Return \code{1} if access is granted, \code{0} if not.
|
||||
See the \UNIX{} manual for the semantics.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{chmod}{path, mode}
|
||||
Change the mode of \var{path} to the numeric \var{mode}.
|
||||
Availability: \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{chown}{path, uid, gid}
|
||||
Change the owner and group id of \var{path} to the numeric \var{uid}
|
||||
and \var{gid}.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{link}{src, dst}
|
||||
Create a hard link pointing to \var{src} named \var{dst}.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{listdir}{path}
|
||||
Return a list containing the names of the entries in the directory.
|
||||
The list is in arbitrary order. It does not include the special
|
||||
entries \code{'.'} and \code{'..'} even if they are present in the
|
||||
directory.
|
||||
Availability: Macintosh, \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{lstat}{path}
|
||||
Like \function{stat()}, but do not follow symbolic links.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{mkfifo}{path\optional{, mode}}
|
||||
Create a FIFO (a named pipe) named \var{path} with numeric mode
|
||||
\var{mode}. The default \var{mode} is \code{0666} (octal). The current
|
||||
umask value is first masked out from the mode.
|
||||
Availability: \UNIX{}.
|
||||
|
||||
FIFOs are pipes that can be accessed like regular files. FIFOs exist
|
||||
until they are deleted (for example with \function{os.unlink()}).
|
||||
Generally, FIFOs are used as rendezvous between ``client'' and
|
||||
``server'' type processes: the server opens the FIFO for reading, and
|
||||
the client opens it for writing. Note that \function{mkfifo()}
|
||||
doesn't open the FIFO --- it just creates the rendezvous point.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{mkdir}{path\optional{, mode}}
|
||||
Create a directory named \var{path} with numeric mode \var{mode}.
|
||||
The default \var{mode} is \code{0777} (octal). On some systems,
|
||||
\var{mode} is ignored. Where it is used, the current umask value is
|
||||
first masked out.
|
||||
Availability: Macintosh, \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{makedirs}{path\optional{, mode}}
|
||||
\index{directory!creating}
|
||||
Recursive directory creation function. Like \function{mkdir()},
|
||||
but makes all intermediate-level directories needed to contain the
|
||||
leaf directory. Throws an \exception{error} exception if the leaf
|
||||
directory already exists or cannot be created. The default \var{mode}
|
||||
is \code{0777} (octal).
|
||||
\versionadded{1.5.2}
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{readlink}{path}
|
||||
Return a string representing the path to which the symbolic link
|
||||
points.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{remove}{path}
|
||||
Remove the file \var{path}. See \function{rmdir()} below to remove a
|
||||
directory. This is identical to the \function{unlink()} function
|
||||
documented below.
|
||||
Availability: Macintosh, \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{removedirs}{path}
|
||||
\index{directory!deleting}
|
||||
Recursive directory removal function. Works like
|
||||
\function{rmdir()} except that, if the leaf directory is
|
||||
successfully removed, directories corresponding to rightmost path
|
||||
segments will be pruned way until either the whole path is consumed or
|
||||
an error is raised (which is ignored, because it generally means that
|
||||
a parent directory is not empty). Throws an \exception{error}
|
||||
exception if the leaf directory could not be successfully removed.
|
||||
\versionadded{1.5.2}
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{rename}{src, dst}
|
||||
Rename the file or directory \var{src} to \var{dst}.
|
||||
Availability: Macintosh, \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{renames}{old, new}
|
||||
Recursive directory or file renaming function.
|
||||
Works like \function{rename()}, except creation of any intermediate
|
||||
directories needed to make the new pathname good is attempted first.
|
||||
After the rename, directories corresponding to rightmost path segments
|
||||
of the old name will be pruned away using \function{removedirs()}.
|
||||
|
||||
Note: this function can fail with the new directory structure made if
|
||||
you lack permissions needed to remove the leaf directory or file.
|
||||
\versionadded{1.5.2}
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{rmdir}{path}
|
||||
Remove the directory \var{path}.
|
||||
Availability: Macintosh, \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{stat}{path}
|
||||
Perform a \cfunction{stat()} system call on the given path. The
|
||||
return value is a tuple of at least 10 integers giving the most
|
||||
important (and portable) members of the \emph{stat} structure, in the
|
||||
order
|
||||
\code{st_mode},
|
||||
\code{st_ino},
|
||||
\code{st_dev},
|
||||
\code{st_nlink},
|
||||
\code{st_uid},
|
||||
\code{st_gid},
|
||||
\code{st_size},
|
||||
\code{st_atime},
|
||||
\code{st_mtime},
|
||||
\code{st_ctime}.
|
||||
More items may be added at the end by some implementations.
|
||||
(On MS Windows, some items are filled with dummy values.)
|
||||
Availability: Macintosh, \UNIX{}, Windows.
|
||||
|
||||
Note: The standard module \refmodule{stat}\refstmodindex{stat} defines
|
||||
functions and constants that are useful for extracting information
|
||||
from a \ctype{stat} structure.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{statvfs}{path}
|
||||
Perform a \cfunction{statvfs()} system call on the given path. The
|
||||
return value is a tuple of 11 integers giving the most common
|
||||
members of the \ctype{statvfs} structure, in the order
|
||||
\code{f_bsize},
|
||||
\code{f_frsize},
|
||||
\code{f_blocks},
|
||||
\code{f_bfree},
|
||||
\code{f_bavail},
|
||||
\code{f_files},
|
||||
\code{f_ffree},
|
||||
\code{f_favail},
|
||||
\code{f_fsid},
|
||||
\code{f_flag},
|
||||
\code{f_namemax}.
|
||||
Availability: \UNIX{}.
|
||||
|
||||
Note: The standard module \module{statvfs}\refstmodindex{statvfs}
|
||||
defines constants that are useful for extracting information
|
||||
from a \ctype{statvfs} structure.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{symlink}{src, dst}
|
||||
Create a symbolic link pointing to \var{src} named \var{dst}.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{unlink}{path}
|
||||
Remove the file \var{path}. This is the same function as
|
||||
\function{remove()}; the \function{unlink()} name is its traditional
|
||||
\UNIX{} name.
|
||||
Availability: Macintosh, \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{utime}{path, (atime, mtime)}
|
||||
Set the access and modified time of the file to the given values.
|
||||
(The second argument is a tuple of two items.)
|
||||
Availability: Macintosh, \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
|
||||
\subsection{Process Management \label{os-process}}
|
||||
|
||||
These functions may be used to create and manage additional
|
||||
processes.
|
||||
|
||||
|
||||
\begin{funcdesc}{execl}{path, arg0, arg1, ...}
|
||||
This is equivalent to
|
||||
\samp{execv(\var{path}, (\var{arg0}, \var{arg1}, ...))}.
|
||||
Availability: \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{execle}{path, arg0, arg1, ..., env}
|
||||
This is equivalent to
|
||||
\samp{execve(\var{path}, (\var{arg0}, \var{arg1}, ...), \var{env})}.
|
||||
Availability: \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{execlp}{path, arg0, arg1, ...}
|
||||
This is equivalent to
|
||||
\samp{execvp(\var{path}, (\var{arg0}, \var{arg1}, ...))}.
|
||||
Availability: \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{execv}{path, args}
|
||||
Execute the executable \var{path} with argument list \var{args},
|
||||
replacing the current process (i.e., the Python interpreter).
|
||||
The argument list may be a tuple or list of strings.
|
||||
Availability: \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{execve}{path, args, env}
|
||||
Execute the executable \var{path} with argument list \var{args},
|
||||
and environment \var{env},
|
||||
replacing the current process (i.e., the Python interpreter).
|
||||
The argument list may be a tuple or list of strings.
|
||||
The environment must be a dictionary mapping strings to strings.
|
||||
Availability: \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{execvp}{path, args}
|
||||
This is like \samp{execv(\var{path}, \var{args})} but duplicates
|
||||
the shell's actions in searching for an executable file in a list of
|
||||
directories. The directory list is obtained from
|
||||
\code{environ['PATH']}.
|
||||
Availability: \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{execvpe}{path, args, env}
|
||||
This is a cross between \function{execve()} and \function{execvp()}.
|
||||
The directory list is obtained from \code{\var{env}['PATH']}.
|
||||
Availability: \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{_exit}{n}
|
||||
Exit to the system with status \var{n}, without calling cleanup
|
||||
handlers, flushing stdio buffers, etc.
|
||||
Availability: \UNIX{}, Windows.
|
||||
|
||||
Note: the standard way to exit is \code{sys.exit(\var{n})}.
|
||||
\function{_exit()} should normally only be used in the child process
|
||||
after a \function{fork()}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{fork}{}
|
||||
Fork a child process. Return \code{0} in the child, the child's
|
||||
process id in the parent.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{kill}{pid, sig}
|
||||
\index{process!killing}
|
||||
\index{process!signalling}
|
||||
Kill the process \var{pid} with signal \var{sig}.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{nice}{increment}
|
||||
Add \var{increment} to the process's ``niceness''. Return the new
|
||||
niceness.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{plock}{op}
|
||||
Lock program segments into memory. The value of \var{op}
|
||||
(defined in \code{<sys/lock.h>}) determines which segments are locked.
|
||||
Availabilty: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{spawnv}{mode, path, args}
|
||||
Execute the program \var{path} in a new process, passing the arguments
|
||||
specified in \var{args} as command-line parameters. \var{args} may be
|
||||
a list or a tuple. \var{mode} is a magic operational constant. See
|
||||
the Visual \Cpp{} Runtime Library documentation for further
|
||||
information.
|
||||
Availability: Windows.
|
||||
\versionadded{1.5.2}
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{spawnve}{mode, path, args, env}
|
||||
Execute the program \var{path} in a new process, passing the arguments
|
||||
specified in \var{args} as command-line parameters and the contents of
|
||||
the mapping \var{env} as the environment. \var{args} may be a list or
|
||||
a tuple. \var{mode} is a magic operational constant. See the Visual
|
||||
\Cpp{} Runtime Library documentation for further information.
|
||||
Availability: Windows.
|
||||
\versionadded{1.5.2}
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{datadesc}{_P_WAIT}
|
||||
\dataline{_P_NOWAIT}
|
||||
\dataline{_P_NOWAITO}
|
||||
\dataline{_P_OVERLAY}
|
||||
\dataline{_P_DETACH}
|
||||
Possible values for the \var{mode} parameter to \function{spawnv()}
|
||||
and \function{spawnve()}.
|
||||
Availability: Windows.
|
||||
\versionadded{1.5.2}
|
||||
\end{datadesc}
|
||||
|
||||
\begin{funcdesc}{system}{command}
|
||||
Execute the command (a string) in a subshell. This is implemented by
|
||||
calling the Standard C function \cfunction{system()}, and has the
|
||||
same limitations. Changes to \code{posix.environ}, \code{sys.stdin}
|
||||
etc.\ are not reflected in the environment of the executed command.
|
||||
The return value is the exit status of the process encoded in the
|
||||
format specified for \function{wait()}.
|
||||
Availability: \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{times}{}
|
||||
Return a 5-tuple of floating point numbers indicating accumulated (CPU
|
||||
or other)
|
||||
times, in seconds. The items are: user time, system time, children's
|
||||
user time, children's system time, and elapsed real time since a fixed
|
||||
point in the past, in that order. See the \UNIX{}
|
||||
manual page \manpage{times}{2} or the corresponding Windows Platform
|
||||
API documentation.
|
||||
Availability: \UNIX{}, Windows.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{wait}{}
|
||||
Wait for completion of a child process, and return a tuple containing
|
||||
its pid and exit status indication: a 16-bit number, whose low byte is
|
||||
the signal number that killed the process, and whose high byte is the
|
||||
exit status (if the signal number is zero); the high bit of the low
|
||||
byte is set if a core file was produced.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{waitpid}{pid, options}
|
||||
Wait for completion of a child process given by proces id, and return
|
||||
a tuple containing its process id and exit status indication (encoded
|
||||
as for \function{wait()}). The semantics of the call are affected by
|
||||
the value of the integer \var{options}, which should be \code{0} for
|
||||
normal operation.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{datadesc}{WNOHANG}
|
||||
The option for \function{waitpid()} to avoid hanging if no child
|
||||
process status is available immediately.
|
||||
Availability: \UNIX{}.
|
||||
\end{datadesc}
|
||||
|
||||
The following functions take a process stats code as returned by
|
||||
\function{waitpid()} as a parameter. They may be used to determine
|
||||
the disposition of a process.
|
||||
|
||||
\begin{funcdesc}{WIFSTOPPED}{status}
|
||||
Return true if the process has been stopped.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{WIFSIGNALED}{status}
|
||||
Return true if the process exited due to a signal.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{WIFEXITED}{status}
|
||||
Return true if the process exited using the \manpage{exit}{2} system
|
||||
call.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{WEXITSTATUS}{status}
|
||||
If \code{WIFEXITED(\var{status})} is true, return the integer
|
||||
parameter to the \manpage{exit}{2} system call. Otherwise, the return
|
||||
value is meaningless.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{WSTOPSIG}{status}
|
||||
Return the signal which caused the process to exit.
|
||||
Availability: \UNIX{}.
|
||||
\end{funcdesc}
|
||||
|
||||
|
||||
\subsection{Miscellanenous System Data \label{os-path}}
|
||||
|
||||
The follow data values are used to support path manipulation
|
||||
operations. These are defined for all platforms.
|
||||
|
||||
Higher-level operations on pathnames are defined in the
|
||||
\refmodule{os.path} module.
|
||||
|
||||
|
||||
\begin{datadesc}{curdir}
|
||||
The constant string used by the OS to refer to the current directory,
|
||||
e.g.\ \code{'.'} for \POSIX{} or \code{':'} for the Macintosh.
|
||||
|
@ -64,20 +794,13 @@ concatenate pathnames --- use \function{os.path.split()} and
|
|||
\begin{datadesc}{altsep}
|
||||
An alternative character used by the OS to separate pathname components,
|
||||
or \code{None} if only one separator character exists. This is set to
|
||||
\character{/} on DOS/Windows systems where \code{sep} is a backslash.
|
||||
\character{/} on DOS and Windows systems where \code{sep} is a backslash.
|
||||
\end{datadesc}
|
||||
|
||||
\begin{datadesc}{pathsep}
|
||||
The character conventionally used by the OS to separate search patch
|
||||
components (as in \envvar{PATH}), e.g.\ \character{:} for \POSIX{} or
|
||||
\character{;} for MS-DOS.
|
||||
\end{datadesc}
|
||||
|
||||
\begin{datadesc}{linesep}
|
||||
The string used to separate (or, rather, terminate) lines on the
|
||||
current platform. This may be a single character, e.g. \code{'\e n'}
|
||||
for \POSIX{} or \code{'\e r'} for MacOS, or multiple characters,
|
||||
e.g. \code{'\e r\e n'} for MS-DOS.
|
||||
\character{;} for DOS and Windows.
|
||||
\end{datadesc}
|
||||
|
||||
\begin{datadesc}{defpath}
|
||||
|
@ -85,70 +808,9 @@ The default search path used by \function{exec*p*()} if the environment
|
|||
doesn't have a \code{'PATH'} key.
|
||||
\end{datadesc}
|
||||
|
||||
\begin{funcdesc}{makedirs}{path\optional{, mode}}
|
||||
\versionadded{1.5.2}
|
||||
\index{directory!creating}
|
||||
Recursive directory creation function. Like \function{mkdir()},
|
||||
but makes all intermediate-level directories needed to contain the
|
||||
leaf directory. Throws an \exception{os.error} exception if the leaf
|
||||
directory already exists or cannot be created. The default \var{mode}
|
||||
is \code{0777} (octal).
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{removedirs}{path}
|
||||
\versionadded{1.5.2}
|
||||
\index{directory!deleting}
|
||||
Recursive directory removal function. Works like
|
||||
\function{rmdir()} except that, if the leaf directory is
|
||||
successfully removed, directories corresponding to rightmost path
|
||||
segments will be pruned way until either the whole path is consumed or
|
||||
an error is raised (which is ignored, because it generally means that
|
||||
a parent directory is not empty). Throws an \exception{os.error}
|
||||
exception if the leaf directory could not be successfully removed.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{renames}{old, new}
|
||||
\versionadded{1.5.2}
|
||||
Recursive directory or file renaming function.
|
||||
Works like \function{rename()}, except creation of any intermediate
|
||||
directories needed to make the new pathname good is attempted first.
|
||||
After the rename, directories corresponding to rightmost path segments
|
||||
of the old name will be pruned away using \function{removedirs()}.
|
||||
|
||||
Note: this function can fail with the new directory structure made if
|
||||
you lack permissions needed to remove the leaf directory or file.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{execl}{path, arg0, arg1, ...}
|
||||
This is equivalent to
|
||||
\samp{execv(\var{path}, (\var{arg0}, \var{arg1}, ...))}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{execle}{path, arg0, arg1, ..., env}
|
||||
This is equivalent to
|
||||
\samp{execve(\var{path}, (\var{arg0}, \var{arg1}, ...), \var{env})}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{execlp}{path, arg0, arg1, ...}
|
||||
This is equivalent to
|
||||
\samp{execvp(\var{path}, (\var{arg0}, \var{arg1}, ...))}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{execvp}{path, args}
|
||||
This is like \samp{execv(\var{path}, \var{args})} but duplicates
|
||||
the shell's actions in searching for an executable file in a list of
|
||||
directories. The directory list is obtained from
|
||||
\code{environ['PATH']}.
|
||||
\end{funcdesc}
|
||||
|
||||
\begin{funcdesc}{execvpe}{path, args, env}
|
||||
This is a cross between \function{execve()} and \function{execvp()}.
|
||||
The directory list is obtained from \code{\var{env}['PATH']}.
|
||||
\end{funcdesc}
|
||||
|
||||
(The functions \function{execv()} and \function{execve()} are not
|
||||
documented here, since they are implemented by the OS dependent
|
||||
module. If the OS dependent module doesn't define either of these,
|
||||
the functions that rely on it will raise an exception. They are
|
||||
documented in the section on module \module{posix}, together with all
|
||||
other functions that \module{os} imports from the OS dependent module.)
|
||||
\begin{datadesc}{linesep}
|
||||
The string used to separate (or, rather, terminate) lines on the
|
||||
current platform. This may be a single character, e.g. \code{'\e n'}
|
||||
for \POSIX{} or \code{'\e r'} for MacOS, or multiple characters,
|
||||
e.g. \code{'\e r\e n'} for MS-DOS and MS Windows.
|
||||
\end{datadesc}
|
||||
|
|
|
@ -11,7 +11,7 @@ standardized by the C Standard and the \POSIX{} standard (a thinly
|
|||
disguised \UNIX{} interface).
|
||||
|
||||
\strong{Do not import this module directly.} Instead, import the
|
||||
module \module{os}, which provides a \emph{portable} version of this
|
||||
module \refmodule{os}, which provides a \emph{portable} version of this
|
||||
interface. On \UNIX{}, the \module{os} module provides a superset of
|
||||
the \module{posix} interface. On non-\UNIX{} operating systems the
|
||||
\module{posix} module is not available, but a subset is always
|
||||
|
@ -30,11 +30,12 @@ type errors, while errors reported by the system calls raise
|
|||
\exception{error} (a synonym for the standard exception
|
||||
\exception{OSError}), described below.
|
||||
|
||||
|
||||
\subsection{Large File Support \label{posix-large-files}}
|
||||
\sectionauthor{Steve Clift}{clift@mail.anacapa.net}
|
||||
\index{large files}
|
||||
\index{file!large files}
|
||||
|
||||
\sectionauthor{Steve Clift}{clift@mail.anacapa.net}
|
||||
|
||||
Several operating systems (including AIX, HPUX, Irix and Solaris)
|
||||
provide support for files that are larger than 2 Gb from a C
|
||||
|
@ -58,7 +59,8 @@ CFLAGS="-D_LARGEFILE_SOURCE -D_FILE_OFFSET_BITS=64" OPT="-g -O2 $CFLAGS" \
|
|||
\end{verbatim} % $ <-- bow to font-lock
|
||||
|
||||
|
||||
\subsection{\module{posix} Module Contents \label{posix-contents}}
|
||||
\subsection{Module Contents \label{posix-contents}}
|
||||
|
||||
|
||||
Module \module{posix} defines the following data item:
|
||||
|
||||
|
@ -75,13 +77,13 @@ passed on by \function{execv()}, \function{popen()} or
|
|||
export statements to the command string for \function{system()} or
|
||||
\function{popen()}.
|
||||
|
||||
\strong{Note:} The \module{os} module provides an alternate
|
||||
\strong{Note:} The \refmodule{os} module provides an alternate
|
||||
implementation of \code{environ} which updates the environment on
|
||||
modification. Note also that updating \code{os.environ} will render
|
||||
this dictionary obsolete. Use of the \module{os} for this is
|
||||
this dictionary obsolete. Use of the \refmodule{os} for this is
|
||||
recommended over direct access to the \module{posix} module.
|
||||
\end{datadesc}
|
||||
|
||||
Additional contents of this module should only be accessed via the
|
||||
\module{os} module; refer to the documentation for that module for
|
||||
\refmodule{os} module; refer to the documentation for that module for
|
||||
further information.
|
||||
|
|
Loading…
Reference in New Issue