Python3 OS module

官方文档:https://docs.python.org/3/library/os.html

os.ctermid()
>>> os.ctermid()
'/dev/tty'
os.environ
>>> os.environ
environ({'HOSTNAME': 'lishf-dev.cloud.mos', 'SHELL': '/bin/bash', 'TERM': 'xterm-256color', 'HISTSIZE': '50000', 'QTDIR': '/usr/lib64/qt-3.3', 'QT_GRAPHICSSYSTEM_CHECKED': '1', 'MOS_URL': 'https://mosapi.meituan.com/mcs/v1', 'USER': 'root', 'LS_COLORS': 'rs=0:di=38;5;27:ln=38;5;51:mh=44;38;5;15:pi=40;38;5;11:so=38;5;13:do=38;5;5:bd=48;5;232;38;5;11:cd=48;5;232;38;5;3:or=48;5;232;38;5;9:mi=05;48;5;232;38;5;15:su=48;5;196;38;5;15:sg=48;5;11;38;5;16:ca=48;5;196;38;5;226:tw=48;5;10;38;5;16:ow=48;5;10;38;5;21:st=48;5;21;38;5;15:ex=38;5;34:*.tar=38;5;9:*.tgz=38;5;9:*.arc=38;5;9:*.arj=38;5;9:*.taz=38;5;9:*.lha=38;5;9:*.lz4=38;5;9:*.lzh=38;5;9:*.lzma=38;5;9:*.tlz=38;5;9:*.txz=38;5;9:*.tzo=38;5;9:*.t7z=38;5;9:*.zip=38;5;9:*.z=38;5;9:*.Z=38;5;9:*.dz=38;5;9:*.gz=38;5;9:*.lrz=38;5;9:*.lz=38;5;9:*.lzo=38;5;9:*.xz=38;5;9:*.bz2=38;5;9:*.bz=38;5;9:*.tbz=38;5;9:*.tbz2=38;5;9:*.tz=38;5;9:*.deb=38;5;9:*.rpm=38;5;9:*.jar=38;5;9:*.war=38;5;9:*.ear=38;5;9:*.sar=38;5;9:*.rar=38;5;9:*.alz=38;5;9:*.ace=38;5;9:*.zoo=38;5;9:*.cpio=38;5;9:*.7z=38;5;9:*.rz=38;5;9:*.cab=38;5;9:*.jpg=38;5;13:*.jpeg=38;5;13:*.gif=38;5;13:*.bmp=38;5;13:*.pbm=38;5;13:*.pgm=38;5;13:*.ppm=38;5;13:*.tga=38;5;13:*.xbm=38;5;13:*.xpm=38;5;13:*.tif=38;5;13:*.tiff=38;5;13:*.png=38;5;13:*.svg=38;5;13:*.svgz=38;5;13:*.mng=38;5;13:*.pcx=38;5;13:*.mov=38;5;13:*.mpg=38;5;13:*.mpeg=38;5;13:*.m2v=38;5;13:*.mkv=38;5;13:*.webm=38;5;13:*.ogm=38;5;13:*.mp4=38;5;13:*.m4v=38;5;13:*.mp4v=38;5;13:*.vob=38;5;13:*.qt=38;5;13:*.nuv=38;5;13:*.wmv=38;5;13:*.asf=38;5;13:*.rm=38;5;13:*.rmvb=38;5;13:*.flc=38;5;13:*.avi=38;5;13:*.fli=38;5;13:*.flv=38;5;13:*.gl=38;5;13:*.dl=38;5;13:*.xcf=38;5;13:*.xwd=38;5;13:*.yuv=38;5;13:*.cgm=38;5;13:*.emf=38;5;13:*.axv=38;5;13:*.anx=38;5;13:*.ogv=38;5;13:*.ogx=38;5;13:*.aac=38;5;45:*.au=38;5;45:*.flac=38;5;45:*.mid=38;5;45:*.midi=38;5;45:*.mka=38;5;45:*.mp3=38;5;45:*.mpc=38;5;45:*.ogg=38;5;45:*.ra=38;5;45:*.wav=38;5;45:*.axa=38;5;45:*.oga=38;5;45:*.spx=38;5;45:*.xspf=38;5;45:', 'SUDO_USER': 'lishf', 'SUDO_UID': '1000', 'USERNAME': 'root', 'PATH': '/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/root/bin', 'MAIL': '/var/spool/mail/root', 'PWD': '/root', 'AWS_SECRET_ACCESS_KEY': 'VYDGDri5LjK2cqkoDQx9r4kMiETx4Af6gK+PYbXB', 'LANG': 'en_US.utf8', 'HISTCONTROL': 'ignoredups', 'AWS_ACCESS_KEY_ID': 'AKIAIFN3V4X74U2VCUAA', 'SHLVL': '1', 'SUDO_COMMAND': '/bin/bash', 'HOME': '/root', 'MOS_SECRET': 'd37331d1a1a34a97a725cc4b56212e8f', 'LOGNAME': 'root', 'MOS_ACCESS': 'cf641b7318c544318c8f377591cf4ddd', 'LC_CTYPE': 'zh_CN.UTF-8', 'LESSOPEN': '||/usr/bin/lesspipe.sh %s', 'SUDO_GID': '1000', 'HISTTIMEFORMAT': 'root %F %T ', '_': '/bin/python3'})

putenv() 增加环境变量
unsetenv() 移除环境变量

os.environb

Bytes version of environ: a mapping object representing the environment as byte strings. environ and environb are synchronized (modify environb updates environ, and vice versa).

environb is only available if supports_bytes_environ is True.

New in version 3.2.

os.chdir(path)

变更当前工作目录

os.fchdir(fd)

方法通过文件描述符改变当前工作目录。
fd -- 文件描述符
参考:http://www.runoob.com/python/os-fchdir.html

os.getcwd()

获取当前工作目录

>>> os.getcwd()
'/root'
os.getenv(key, default=None)
>>> os.getenv("PATH")
'/usr/local/sbin:/sbin:/bin:/usr/sbin:/usr/bin:/usr/local/bin:/root/bin'
os.getenvb(key, default=None)

Return the value of the environment variable key if it exists, or default if it doesn’t. key, default and the result are bytes.

os.get_exec_path(env=None)
>>> os.get_exec_path(env=None)
['/usr/local/sbin', '/sbin', '/bin', '/usr/sbin', '/usr/bin', '/usr/local/bin', '/root/bin']

New in version 3.2.

os.getegid

Return the effective group id of the current process. This corresponds to the “set id” bit on the file being executed in the current process.

Availability: Unix.

os.geteuid()

Return the current process’s effective user id.

Availability: Unix.

os.getgid()

Return the real group id of the current process.

Availability: Unix.

os.getuid()

Return the real group id of the current process.

Availability: Unix.

os.getgrouplist(user, group)

Return list of group ids that user belongs to. If group is not in the list, it is included; typically, group is specified as the group ID field from the password record for user.

Availability: Unix.

New in version 3.3.

>>> os.getgrouplist('root',0)
[0]
>>> os.getgrouplist('lishf',1000)
[1000]
os.getgroups()
>>> os.getgroups()
[0]
os.getlogin()

此处os.getlogin()只是获取到最开始登陆的用户lishf,而之后sudo到root检测不到,实际使用时要注意;另外两种方式没这个问题

>>> os.getlogin()
'lishf'

>>> import getpass
>>> getpass.getuser()
'root'

>>> import pwd
>>> pwd.getpwuid(os.getuid())[0]
'root'

Return the name of the user logged in on the controlling terminal of the process. For most purposes, it is more useful to use getpass.getuser() since the latter checks the environment variables LOGNAME or USERNAME to find out who the user is, and falls back to pwd.getpwuid(os.getuid())[0] to get the login name of the current real user id.

Availability: Unix, Windows.

你可能感兴趣的:(Python3 OS module)