16. Generic Operating System Services
The modules described in this chapter provide interfaces to operating system features that are available on (almost) all operating systems, such as files and a clock. The interfaces are generally modeled after the Unix or C interfaces, but they are available on most other systems as well. Here’s an overview:
- 16.1.
os— Miscellaneous operating system interfaceserrorname- 16.1.1. File Names, Command Line Arguments, and Environment Variables
- 16.1.2. Process Parameters
ctermid()environenvironbfsencode()fsdecode()fspath()PathLikegetenv()getenvb()get_exec_path()getegid()geteuid()getgid()getgrouplist()getgroups()getlogin()getpgid()getpgrp()getpid()getppid()getpriority()PRIO_PROCESSPRIO_PGRPPRIO_USERgetresuid()getresgid()getuid()initgroups()putenv()setegid()seteuid()setgid()setgroups()setpgrp()setpgid()setpriority()setregid()setresgid()setresuid()setreuid()getsid()setsid()setuid()strerror()supports_bytes_environumask()uname()unsetenv()
- 16.1.3. File Object Creation
- 16.1.4. File Descriptor Operations
close()closerange()device_encoding()dup()dup2()fchmod()fchown()fdatasync()fpathconf()fstat()fstatvfs()fsync()ftruncate()get_blocking()isatty()lockf()F_LOCKF_TLOCKF_ULOCKF_TESTlseek()SEEK_SETSEEK_CURSEEK_ENDopen()O_RDONLYO_WRONLYO_RDWRO_APPENDO_CREATO_EXCLO_TRUNCO_DSYNCO_RSYNCO_SYNCO_NDELAYO_NONBLOCKO_NOCTTYO_CLOEXECO_BINARYO_NOINHERITO_SHORT_LIVEDO_TEMPORARYO_RANDOMO_SEQUENTIALO_TEXTO_ASYNCO_DIRECTO_DIRECTORYO_NOFOLLOWO_NOATIMEO_PATHO_TMPFILEO_SHLOCKO_EXLOCKopenpty()pipe()pipe2()posix_fallocate()posix_fadvise()POSIX_FADV_NORMALPOSIX_FADV_SEQUENTIALPOSIX_FADV_RANDOMPOSIX_FADV_NOREUSEPOSIX_FADV_WILLNEEDPOSIX_FADV_DONTNEEDpread()pwrite()read()sendfile()set_blocking()SF_NODISKIOSF_MNOWAITSF_SYNCreadv()tcgetpgrp()tcsetpgrp()ttyname()write()writev()- 16.1.4.1. Querying the size of a terminal
- 16.1.4.2. Inheritance of File Descriptors
- 16.1.5. Files and Directories
access()F_OKR_OKW_OKX_OKchdir()chflags()chmod()chown()chroot()fchdir()getcwd()getcwdb()lchflags()lchmod()lchown()link()listdir()lstat()mkdir()makedirs()mkfifo()mknod()major()minor()makedev()pathconf()pathconf_namesreadlink()remove()removedirs()rename()renames()replace()rmdir()scandir()DirEntrystat()stat_resultstat_result.st_modestat_result.st_inostat_result.st_devstat_result.st_nlinkstat_result.st_uidstat_result.st_gidstat_result.st_sizestat_result.st_atimestat_result.st_mtimestat_result.st_ctimestat_result.st_atime_nsstat_result.st_mtime_nsstat_result.st_ctime_nsstat_result.st_blocksstat_result.st_blksizestat_result.st_rdevstat_result.st_flagsstat_result.st_genstat_result.st_birthtimestat_result.st_rsizestat_result.st_creatorstat_result.st_typestat_result.st_file_attributes
stat_float_times()statvfs()supports_dir_fdsupports_effective_idssupports_fdsupports_follow_symlinkssymlink()sync()truncate()unlink()utime()walk()fwalk()- 16.1.5.1. Linux extended attributes
- 16.1.6. Process Management
abort()execl()execle()execlp()execlpe()execv()execve()execvp()execvpe()_exit()EX_OKEX_USAGEEX_DATAERREX_NOINPUTEX_NOUSEREX_NOHOSTEX_UNAVAILABLEEX_SOFTWAREEX_OSERREX_OSFILEEX_CANTCREATEX_IOERREX_TEMPFAILEX_PROTOCOLEX_NOPERMEX_CONFIGEX_NOTFOUNDfork()forkpty()kill()killpg()nice()plock()popen()spawnl()spawnle()spawnlp()spawnlpe()spawnv()spawnve()spawnvp()spawnvpe()P_NOWAITP_NOWAITOP_WAITP_DETACHP_OVERLAYstartfile()system()times()wait()waitid()P_PIDP_PGIDP_ALLWEXITEDWSTOPPEDWNOWAITCLD_EXITEDCLD_DUMPEDCLD_TRAPPEDCLD_CONTINUEDwaitpid()wait3()wait4()WNOHANGWCONTINUEDWUNTRACEDWCOREDUMP()WIFCONTINUED()WIFSTOPPED()WIFSIGNALED()WIFEXITED()WEXITSTATUS()WSTOPSIG()WTERMSIG()
- 16.1.7. Interface to the scheduler
SCHED_OTHERSCHED_BATCHSCHED_IDLESCHED_SPORADICSCHED_FIFOSCHED_RRSCHED_RESET_ON_FORKsched_paramsched_get_priority_min()sched_get_priority_max()sched_setscheduler()sched_getscheduler()sched_setparam()sched_getparam()sched_rr_get_interval()sched_yield()sched_setaffinity()sched_getaffinity()
- 16.1.8. Miscellaneous System Information
- 16.1.9. Random numbers
- 16.2.
io— Core tools for working with streams - 16.3.
time— Time access and conversions - 16.4.
argparse— Parser for command-line options, arguments and sub-commands- 16.4.1. Example
- 16.4.2. ArgumentParser objects
- 16.4.3. The add_argument() method
- 16.4.4. The parse_args() method
- 16.4.5. Other utilities
- 16.4.6. Upgrading optparse code
- 16.5.
getopt— C-style parser for command line options - 16.6.
logging— Logging facility for Python- 16.6.1. Logger Objects
LoggerLogger.propagateLogger.setLevel()Logger.isEnabledFor()Logger.getEffectiveLevel()Logger.getChild()Logger.debug()Logger.info()Logger.warning()Logger.error()Logger.critical()Logger.log()Logger.exception()Logger.addFilter()Logger.removeFilter()Logger.filter()Logger.addHandler()Logger.removeHandler()Logger.findCaller()Logger.handle()Logger.makeRecord()Logger.hasHandlers()
- 16.6.2. Logging Levels
- 16.6.3. Handler Objects
- 16.6.4. Formatter Objects
- 16.6.5. Filter Objects
- 16.6.6. LogRecord Objects
- 16.6.7. LogRecord attributes
- 16.6.8. LoggerAdapter Objects
- 16.6.9. Thread Safety
- 16.6.10. Module-Level Functions
- 16.6.11. Module-Level Attributes
- 16.6.12. Integration with the warnings module
- 16.6.1. Logger Objects
- 16.7.
logging.config— Logging configuration - 16.8.
logging.handlers— Logging handlers- 16.8.1. StreamHandler
- 16.8.2. FileHandler
- 16.8.3. NullHandler
- 16.8.4. WatchedFileHandler
- 16.8.5. BaseRotatingHandler
- 16.8.6. RotatingFileHandler
- 16.8.7. TimedRotatingFileHandler
- 16.8.8. SocketHandler
- 16.8.9. DatagramHandler
- 16.8.10. SysLogHandler
- 16.8.11. NTEventLogHandler
- 16.8.12. SMTPHandler
- 16.8.13. MemoryHandler
- 16.8.14. HTTPHandler
- 16.8.15. QueueHandler
- 16.8.16. QueueListener
- 16.9.
getpass— Portable password input - 16.10.
curses— Terminal handling for character-cell displays- 16.10.1. Functions
errorbaudrate()beep()can_change_color()cbreak()color_content()color_pair()curs_set()def_prog_mode()def_shell_mode()delay_output()doupdate()echo()endwin()erasechar()filter()flash()flushinp()getmouse()getsyx()getwin()has_colors()has_ic()has_il()has_key()halfdelay()init_color()init_pair()initscr()is_term_resized()isendwin()keyname()killchar()longname()meta()mouseinterval()mousemask()napms()newpad()newwin()nl()nocbreak()noecho()nonl()noqiflush()noraw()pair_content()pair_number()putp()qiflush()raw()reset_prog_mode()reset_shell_mode()resetty()resize_term()resizeterm()savetty()setsyx()setupterm()start_color()termattrs()termname()tigetflag()tigetnum()tigetstr()tparm()typeahead()unctrl()ungetch()update_lines_cols()unget_wch()ungetmouse()use_env()use_default_colors()wrapper()
- 16.10.2. Window Objects
window.addch()window.addnstr()window.addstr()window.attroff()window.attron()window.attrset()window.bkgd()window.bkgdset()window.border()window.box()window.chgat()window.clear()window.clearok()window.clrtobot()window.clrtoeol()window.cursyncup()window.delch()window.deleteln()window.derwin()window.echochar()window.enclose()window.encodingwindow.erase()window.getbegyx()window.getbkgd()window.getch()window.get_wch()window.getkey()window.getmaxyx()window.getparyx()window.getstr()window.getyx()window.hline()window.idcok()window.idlok()window.immedok()window.inch()window.insch()window.insdelln()window.insertln()window.insnstr()window.insstr()window.instr()window.is_linetouched()window.is_wintouched()window.keypad()window.leaveok()window.move()window.mvderwin()window.mvwin()window.nodelay()window.notimeout()window.noutrefresh()window.overlay()window.overwrite()window.putwin()window.redrawln()window.redrawwin()window.refresh()window.resize()window.scroll()window.scrollok()window.setscrreg()window.standend()window.standout()window.subpad()window.subwin()window.syncdown()window.syncok()window.syncup()window.timeout()window.touchline()window.touchwin()window.untouchwin()window.vline()
- 16.10.3. Constants
- 16.10.1. Functions
- 16.11.
curses.textpad— Text input widget for curses programs - 16.12.
curses.ascii— Utilities for ASCII characters - 16.13.
curses.panel— A panel stack extension for curses - 16.14.
platform— Access to underlying platform’s identifying data - 16.15.
errno— Standard errno system symbolserrorcodeEPERMENOENTESRCHEINTREIOENXIOE2BIGENOEXECEBADFECHILDEAGAINENOMEMEACCESEFAULTENOTBLKEBUSYEEXISTEXDEVENODEVENOTDIREISDIREINVALENFILEEMFILEENOTTYETXTBSYEFBIGENOSPCESPIPEEROFSEMLINKEPIPEEDOMERANGEEDEADLKENAMETOOLONGENOLCKENOSYSENOTEMPTYELOOPEWOULDBLOCKENOMSGEIDRMECHRNGEL2NSYNCEL3HLTEL3RSTELNRNGEUNATCHENOCSIEL2HLTEBADEEBADREXFULLENOANOEBADRQCEBADSLTEDEADLOCKEBFONTENOSTRENODATAETIMEENOSRENONETENOPKGEREMOTEENOLINKEADVESRMNTECOMMEPROTOEMULTIHOPEDOTDOTEBADMSGEOVERFLOWENOTUNIQEBADFDEREMCHGELIBACCELIBBADELIBSCNELIBMAXELIBEXECEILSEQERESTARTESTRPIPEEUSERSENOTSOCKEDESTADDRREQEMSGSIZEEPROTOTYPEENOPROTOOPTEPROTONOSUPPORTESOCKTNOSUPPORTEOPNOTSUPPEPFNOSUPPORTEAFNOSUPPORTEADDRINUSEEADDRNOTAVAILENETDOWNENETUNREACHENETRESETECONNABORTEDECONNRESETENOBUFSEISCONNENOTCONNESHUTDOWNETOOMANYREFSETIMEDOUTECONNREFUSEDEHOSTDOWNEHOSTUNREACHEALREADYEINPROGRESSESTALEEUCLEANENOTNAMENAVAILEISNAMEREMOTEIOEDQUOT
- 16.16.
ctypes— A foreign function library for Python- 16.16.1. ctypes tutorial
- 16.16.1.1. Loading dynamic link libraries
- 16.16.1.2. Accessing functions from loaded dlls
- 16.16.1.3. Calling functions
- 16.16.1.4. Fundamental data types
- 16.16.1.5. Calling functions, continued
- 16.16.1.6. Calling functions with your own custom data types
- 16.16.1.7. Specifying the required argument types (function prototypes)
- 16.16.1.8. Return types
- 16.16.1.9. Passing pointers (or: passing parameters by reference)
- 16.16.1.10. Structures and unions
- 16.16.1.11. Structure/union alignment and byte order
- 16.16.1.12. Bit fields in structures and unions
- 16.16.1.13. Arrays
- 16.16.1.14. Pointers
- 16.16.1.15. Type conversions
- 16.16.1.16. Incomplete Types
- 16.16.1.17. Callback functions
- 16.16.1.18. Accessing values exported from dlls
- 16.16.1.19. Surprises
- 16.16.1.20. Variable-sized data types
- 16.16.2. ctypes reference
- 16.16.2.1. Finding shared libraries
- 16.16.2.2. Loading shared libraries
- 16.16.2.3. Foreign functions
- 16.16.2.4. Function prototypes
- 16.16.2.5. Utility functions
addressof()alignment()byref()cast()create_string_buffer()create_unicode_buffer()DllCanUnloadNow()DllGetClassObject()find_library()find_msvcrt()FormatError()GetLastError()get_errno()get_last_error()memmove()memset()POINTER()pointer()resize()set_errno()set_last_error()sizeof()string_at()WinError()wstring_at()
- 16.16.2.6. Data types
- 16.16.2.7. Fundamental data types
- 16.16.2.8. Structured data types
- 16.16.2.9. Arrays and pointers
- 16.16.1. ctypes tutorial
