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.

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • pyspark.sql模块 模块上下文 Spark SQL和DataFrames的重要类: pyspark.sql...
    mpro阅读 9,554评论 0 13
  • rljs by sennchi Timeline of History Part One The Cognitiv...
    sennchi阅读 7,499评论 0 10
  • 函数调用 Built-in Functions abs(x) Return the absolute value ...
    叫我七夜阅读 1,226评论 0 0
  • 很久很久了,来这里快一年咯。感觉还是没适应这种生活,也许太安逸了,不适合我装逼。 起风了,很快毕业咯,...
    笔断流阅读 255评论 2 2
  • 一周前的清明,我一个人去了杭州。 这是第三次来杭州,前两次对杭州几乎一无所知,只知道西湖和西溪湿地,以为围着西湖走...
    十七碗鱼阅读 579评论 7 5