通用操作系统服务¶
本章中描述的各模块提供了在(几乎)所有的操作系统上可用的操作系统特性的接口,例如文件和时钟。这些接口通常以 Unix 或 C 接口为参考对象,不过在大多数其他系统上也可用。这里有一个概述:
os--- 多种操作系统接口errorname- 文件名,命令行参数,以及环境变量。
- 哋它亢 UTF-8 模式
- 进程参数
ctermid()environenvironbfsencode()fsdecode()fspath()PathLikegetenv()getenvb()get_exec_path()getegid()geteuid()getgid()getgrouplist()getgroups()getlogin()getpgid()getpgrp()getpid()getppid()getpriority()PRIO_PROCESSPRIO_PGRPPRIO_USERPRIO_DARWIN_THREADPRIO_DARWIN_PROCESSPRIO_DARWIN_BGPRIO_DARWIN_NONUIgetresuid()getresgid()getuid()initgroups()putenv()setegid()seteuid()setgid()setgroups()setns()setpgrp()setpgid()setpriority()setregid()setresgid()setresuid()setreuid()getsid()setsid()setuid()strerror()supports_bytes_environumask()uname()unsetenv()unshare()CLONE_FILESCLONE_FSCLONE_NEWCGROUPCLONE_NEWIPCCLONE_NEWNETCLONE_NEWNSCLONE_NEWPIDCLONE_NEWTIMECLONE_NEWUSERCLONE_NEWUTSCLONE_SIGHANDCLONE_SYSVSEMCLONE_THREADCLONE_VM
- 创建文件对象
- 文件描述符操作
close()closerange()copy_file_range()device_encoding()dup()dup2()fchmod()fchown()fdatasync()fpathconf()fstat()fstatvfs()fsync()ftruncate()get_blocking()grantpt()isatty()lockf()F_LOCKF_TLOCKF_ULOCKF_TESTlogin_tty()lseek()SEEK_SETSEEK_CURSEEK_ENDSEEK_HOLESEEK_DATAopen()O_RDONLYO_WRONLYO_RDWRO_APPENDO_CREATO_EXCLO_TRUNCO_DSYNCO_RSYNCO_SYNCO_NDELAYO_NONBLOCKO_NOCTTYO_CLOEXECO_BINARYO_NOINHERITO_SHORT_LIVEDO_TEMPORARYO_RANDOMO_SEQUENTIALO_TEXTO_EVTONLYO_FSYNCO_SYMLINKO_NOFOLLOW_ANYO_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()posix_openpt()preadv()RWF_NOWAITRWF_HIPRIptsname()pwrite()pwritev()RWF_DSYNCRWF_SYNCRWF_APPENDread()sendfile()SF_NODISKIOSF_MNOWAITSF_SYNCSF_NOCACHEset_blocking()splice()SPLICE_F_MOVESPLICE_F_NONBLOCKSPLICE_F_MOREreadv()tcgetpgrp()tcsetpgrp()ttyname()unlockpt()write()writev()- 查询终端的尺寸
- 文件描述符的继承
- 文件和目录
access()F_OKR_OKW_OKX_OKchdir()chflags()chmod()chown()chroot()fchdir()getcwd()getcwdb()lchflags()lchmod()lchown()link()listdir()listdrives()listmounts()listvolumes()lstat()mkdir()makedirs()mkfifo()mknod()major()minor()makedev()pathconf()pathconf_namesreadlink()remove()removedirs()rename()renames()replace()rmdir()scandir()DirEntrystat()stat_resultstatvfs()supports_dir_fdsupports_effective_idssupports_fdsupports_follow_symlinkssymlink()sync()truncate()unlink()utime()walk()fwalk()memfd_create()MFD_CLOEXECMFD_ALLOW_SEALINGMFD_HUGETLBMFD_HUGE_SHIFTMFD_HUGE_MASKMFD_HUGE_64KBMFD_HUGE_512KBMFD_HUGE_1MBMFD_HUGE_2MBMFD_HUGE_8MBMFD_HUGE_16MBMFD_HUGE_32MBMFD_HUGE_256MBMFD_HUGE_512MBMFD_HUGE_1GBMFD_HUGE_2GBMFD_HUGE_16GBeventfd()eventfd_read()eventfd_write()EFD_CLOEXECEFD_NONBLOCKEFD_SEMAPHORE- 计时器文件描述符
- Linux 扩展属性
- 进程管理
abort()add_dll_directory()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()pidfd_open()plock()popen()posix_spawn()posix_spawnp()register_at_fork()spawnl()spawnle()spawnlp()spawnlpe()spawnv()spawnve()spawnvp()spawnvpe()P_NOWAITP_NOWAITOP_WAITP_DETACHP_OVERLAYstartfile()system()times()wait()waitid()waitpid()wait3()wait4()P_PIDP_PGIDP_ALLP_PIDFDWCONTINUEDWEXITEDWSTOPPEDWUNTRACEDWNOHANGWNOWAITCLD_EXITEDCLD_KILLEDCLD_DUMPEDCLD_TRAPPEDCLD_STOPPEDCLD_CONTINUEDwaitstatus_to_exitcode()WCOREDUMP()WIFCONTINUED()WIFSTOPPED()WIFSIGNALED()WIFEXITED()WEXITSTATUS()WSTOPSIG()WTERMSIG()
- 调度器接口
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()
- 其他系统信息
- 随机数
io--- 处理流的核心工具time--- 时间的访问和转换- 函数
asctime()pthread_getcpuclockid()clock_getres()clock_gettime()clock_gettime_ns()clock_settime()clock_settime_ns()ctime()get_clock_info()gmtime()localtime()mktime()monotonic()monotonic_ns()perf_counter()perf_counter_ns()process_time()process_time_ns()sleep()strftime()strptime()struct_timetime()time_ns()thread_time()thread_time_ns()tzset()
- Clock ID 常量
- 时区常量
- 函数
argparse--- 用于命令行选项、参数和子命令的解析器logging--- 哋它亢 的日志记录工具logging.config--- 日志记录配置logging.handlers--- 日志处理器getpass--- 可移植的密码输入curses--- 字符单元显示的终端处理- 函数
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_extended_color_support()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()get_escdelay()set_escdelay()get_tabsize()set_tabsize()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()
- Window 对象
addch()addnstr()addstr()attroff()attron()attrset()bkgd()bkgdset()border()box()chgat()clear()clearok()clrtobot()clrtoeol()cursyncup()delch()deleteln()derwin()echochar()enclose()encodingerase()getbegyx()getbkgd()getch()get_wch()getkey()getmaxyx()getparyx()getstr()getyx()hline()idcok()idlok()immedok()inch()insch()insdelln()insertln()insnstr()insstr()instr()is_linetouched()is_wintouched()keypad()leaveok()move()mvderwin()mvwin()nodelay()notimeout()noutrefresh()overlay()overwrite()putwin()redrawln()redrawwin()refresh()resize()scroll()scrollok()setscrreg()standend()standout()subpad()subwin()syncdown()syncok()syncup()timeout()touchline()touchwin()untouchwin()vline()
- 常量
ERROKversion__version__ncurses_versionCOLORSCOLOR_PAIRSCOLSLINESA_ALTCHARSETA_BLINKA_BOLDA_DIMA_INVISA_ITALICA_NORMALA_PROTECTA_REVERSEA_STANDOUTA_UNDERLINEA_HORIZONTALA_LEFTA_LOWA_RIGHTA_TOPA_VERTICALA_ATTRIBUTESA_CHARTEXTA_COLORKEY_MINKEY_BREAKKEY_DOWNKEY_UPKEY_LEFTKEY_RIGHTKEY_HOMEKEY_BACKSPACEKEY_F0KEY_FnKEY_DLKEY_ILKEY_DCKEY_ICKEY_EICKEY_CLEARKEY_EOSKEY_EOLKEY_SFKEY_SRKEY_NPAGEKEY_PPAGEKEY_STABKEY_CTABKEY_CATABKEY_ENTERKEY_SRESETKEY_RESETKEY_PRINTKEY_LLKEY_A1KEY_A3KEY_B2KEY_C1KEY_C3KEY_BTABKEY_BEGKEY_CANCELKEY_CLOSEKEY_COMMANDKEY_COPYKEY_CREATEKEY_ENDKEY_EXITKEY_FINDKEY_HELPKEY_MARKKEY_MESSAGEKEY_MOVEKEY_NEXTKEY_OPENKEY_OPTIONSKEY_PREVIOUSKEY_REDOKEY_REFERENCEKEY_REFRESHKEY_REPLACEKEY_RESTARTKEY_RESUMEKEY_SAVEKEY_SBEGKEY_SCANCELKEY_SCOMMANDKEY_SCOPYKEY_SCREATEKEY_SDCKEY_SDLKEY_SELECTKEY_SENDKEY_SEOLKEY_SEXITKEY_SFINDKEY_SHELPKEY_SHOMEKEY_SICKEY_SLEFTKEY_SMESSAGEKEY_SMOVEKEY_SNEXTKEY_SOPTIONSKEY_SPREVIOUSKEY_SPRINTKEY_SREDOKEY_SREPLACEKEY_SRIGHTKEY_SRSUMEKEY_SSAVEKEY_SSUSPENDKEY_SUNDOKEY_SUSPENDKEY_UNDOKEY_MOUSEKEY_RESIZEKEY_MAXACS_BBSSACS_BLOCKACS_BOARDACS_BSBSACS_BSSBACS_BSSSACS_BTEEACS_BULLETACS_CKBOARDACS_DARROWACS_DEGREEACS_DIAMONDACS_GEQUALACS_HLINEACS_LANTERNACS_LARROWACS_LEQUALACS_LLCORNERACS_LRCORNERACS_LTEEACS_NEQUALACS_PIACS_PLMINUSACS_PLUSACS_RARROWACS_RTEEACS_S1ACS_S3ACS_S7ACS_S9ACS_SBBSACS_SBSBACS_SBSSACS_SSBBACS_SSBSACS_SSSBACS_SSSSACS_STERLINGACS_TTEEACS_UARROWACS_ULCORNERACS_URCORNERACS_VLINEBUTTONn_PRESSEDBUTTONn_RELEASEDBUTTONn_CLICKEDBUTTONn_DOUBLE_CLICKEDBUTTONn_TRIPLE_CLICKEDBUTTON_SHIFTBUTTON_CTRLBUTTON_ALTCOLOR_BLACKCOLOR_BLUECOLOR_CYANCOLOR_GREENCOLOR_MAGENTACOLOR_REDCOLOR_WHITECOLOR_YELLOW
- 函数
curses.textpad--- 用于 curses 程序的文本输入控件curses.ascii--- 用于 ASCII 字符的工具NULSOHSTXETXEOTENQACKBELBSTABHTLFNLVTFFCRSOSIDLEDC1DC2DC3DC4NAKSYNETBCANEMSUBESCFSGSRSUSSPDELisalnum()isalpha()isascii()isblank()iscntrl()isdigit()isgraph()islower()isprint()ispunct()isspace()isupper()isxdigit()isctrl()ismeta()ascii()ctrl()alt()unctrl()controlnames
curses.panel--- 针对 curses 的面板栈扩展platform--- 访问底层平台的标识数据errno--- 标准 errno 系统符号errorcodeEPERMENOENTESRCHEINTREIOENXIOE2BIGENOEXECEBADFECHILDEAGAINENOMEMEACCESEFAULTENOTBLKEBUSYEEXISTEXDEVENODEVENOTDIREISDIREINVALENFILEEMFILEENOTTYETXTBSYEFBIGENOSPCESPIPEEROFSEMLINKEPIPEEDOMERANGEEDEADLKENAMETOOLONGENOLCKENOSYSENOTEMPTYELOOPEWOULDBLOCKENOMSGEIDRMECHRNGEL2NSYNCEL3HLTEL3RSTELNRNGEUNATCHENOCSIEL2HLTEBADEEBADREXFULLENOANOEBADRQCEBADSLTEDEADLOCKEBFONTENOSTRENODATAETIMEENOSRENONETENOPKGEREMOTEENOLINKEADVESRMNTECOMMEPROTOEMULTIHOPEDOTDOTEBADMSGEOVERFLOWENOTUNIQEBADFDEREMCHGELIBACCELIBBADELIBSCNELIBMAXELIBEXECEILSEQERESTARTESTRPIPEEUSERSENOTSOCKEDESTADDRREQEMSGSIZEEPROTOTYPEENOPROTOOPTEPROTONOSUPPORTESOCKTNOSUPPORTEOPNOTSUPPENOTSUPEPFNOSUPPORTEAFNOSUPPORTEADDRINUSEEADDRNOTAVAILENETDOWNENETUNREACHENETRESETECONNABORTEDECONNRESETENOBUFSEISCONNENOTCONNESHUTDOWNETOOMANYREFSETIMEDOUTECONNREFUSEDEHOSTDOWNEHOSTUNREACHEALREADYEINPROGRESSESTALEEUCLEANENOTNAMENAVAILEISNAMEREMOTEIOEDQUOTEQFULLENOTCAPABLEECANCELEDEOWNERDEADENOTRECOVERABLE
ctypes--- 哋它亢 的外部函数库- ctypes 教程
- ctypes 参考手册
- 寻找动态链接库
- 加载动态链接库
- 外部函数
- 函数原型
- 工具函数
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()
- 数据类型
- 基础数据类型
- 结构化数据类型
- 数组与指针