美文网首页
python模块---os

python模块---os

作者: 至少_14d7 | 来源:发表于2019-10-28 14:55 被阅读0次

    os

    • 对操作系统的调用,模拟对操作系统的一些操作指令

    os常用操作

    1. 导入模块
    import os
    
    1. os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
    os.getcwd()
    
    '/root/note'
    
    1. os.chdir("dirname") 改变当前脚本工作目录;相当于shell下cd
    os.chdir('/root')
    os.getcwd()
    
    '/root'
    
    1. os.curdir 返回当前目录: ('.')
    os.curdir
    
    '.'
    
    1. os.pardir 获取当前目录的父目录字符串名:('..')
    os.pardir
    
    '..'
    
    1. os.makedirs('dirname1/dirname2') 可生成多层递归目录
    os.makedirs('/root/a/b/c/d') #递归创建目录
    
    ls /root/a/b/c/ #查看是否创建成功
    
    �[0m�[01;34md�[0m/
    
    1. os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
    os.removedirs('/root/a/b/c/d') # 若目录为空则删除,并递归到上一层。
    
    • 查看结果
    ls /root/a/b/c/d 
    
    ls: cannot access '/root/a': No such file or directory
    
    ls /root/a/b/c
    
    ls: cannot access '/root/a/b/c/d': No such file or directory
    
    ls /root/a/b
    
    ls: cannot access '/root/a/b': No such file or directory
    
    ls /root/a
    
    ls: cannot access '/root/a': No such file or directory
    
    1. os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirname
    os.mkdir('/root/a/d')
    
    ---------------------------------------------------------------------------
    
    FileNotFoundError                         Traceback (most recent call last)
    
    <ipython-input-39-a28b9b29c6b6> in <module>
    ----> 1 os.mkdir('/root/a/d')
    
    
    FileNotFoundError: [Errno 2] No such file or directory: '/root/a/d'
    
    os.mkdir('/root/a')
    os.mkdir('/root/a/b')
    
    1. os.listdir('dirname')列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
    os.listdir('/root/')
    
    ['.gnupg',
     'untitled.txt',
     'nohup.out',
     '.jupyter',
     '.local',
     '.ssh',
     '.bashrc',
     '.profile',
     'source',
     'oldboy Python14',
     'release',
     '.Xauthority',
     'English',
     '.ipynb_checkpoints',
     'gradebook.db',
     'note',
     '.ipython',
     '.cache',
     'a',
     '.bash_history',
     'Untitled.ipynb',
     '1.txt',
     'python']
    
    os.listdir('/root/a') #查看创建结果
    
    ['d']
    
    1. os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
    os.rmdir('/root/a') #只能删除单击目录,由于a文件夹下有b文件夹所以无法删除。
    
    ---------------------------------------------------------------------------
    
    OSError                                   Traceback (most recent call last)
    
    <ipython-input-50-3d66ca6caffa> in <module>
    ----> 1 os.rmdir('/root/a')
    
    
    OSError: [Errno 39] Directory not empty: '/root/a'
    
    os.rmdir('/root/a/b') #先删除b文件夹
    
    os.rmdir('/root/a')   #再次删除a文件夹
    
    os.listdir('/root/a') #查看删除结果
    
    []
    
    1. os.stat('path/filename') 获取文件/目录信息
    os.stat('/root/untitled.txt')
    
    os.stat_result(st_mode=33188, st_ino=272343, st_dev=64513, st_nlink=1, st_uid=0, st_gid=0, st_size=0, st_atime=1568616892, st_mtime=1568616892, st_ctime=1568616892)
    
    1. (重要)输出操作系统特定的路径分隔符,win下为"\",Linux下为"/"
    os.sep
    
    '/'
    
    1. (重要)os.linesep 输出当前平台使用的行终止符,win下为"\r\n",Linux下为"\n"
    os.linesep
    
    '\n'
    
    os.path
    
    <module 'posixpath' from '/usr/lib/python3.6/posixpath.py'>
    
    1. os.environ 获取系统环境变量
    os.environ
    
    environ{'LS_COLORS': 'rs=0:di=01;34:ln=01;36:mh=00:pi=40;33:so=01;35:do=01;35:bd=40;33;01:cd=40;33;01:or=40;31;01:mi=00:su=37;41:sg=30;43:ca=30;41:tw=30;42:ow=34;42:st=37;44:ex=01;32:*.tar=01;31:*.tgz=01;31:*.arc=01;31:*.arj=01;31:*.taz=01;31:*.lha=01;31:*.lz4=01;31:*.lzh=01;31:*.lzma=01;31:*.tlz=01;31:*.txz=01;31:*.tzo=01;31:*.t7z=01;31:*.zip=01;31:*.z=01;31:*.Z=01;31:*.dz=01;31:*.gz=01;31:*.lrz=01;31:*.lz=01;31:*.lzo=01;31:*.xz=01;31:*.zst=01;31:*.tzst=01;31:*.bz2=01;31:*.bz=01;31:*.tbz=01;31:*.tbz2=01;31:*.tz=01;31:*.deb=01;31:*.rpm=01;31:*.jar=01;31:*.war=01;31:*.ear=01;31:*.sar=01;31:*.rar=01;31:*.alz=01;31:*.ace=01;31:*.zoo=01;31:*.cpio=01;31:*.7z=01;31:*.rz=01;31:*.cab=01;31:*.wim=01;31:*.swm=01;31:*.dwm=01;31:*.esd=01;31:*.jpg=01;35:*.jpeg=01;35:*.mjpg=01;35:*.mjpeg=01;35:*.gif=01;35:*.bmp=01;35:*.pbm=01;35:*.pgm=01;35:*.ppm=01;35:*.tga=01;35:*.xbm=01;35:*.xpm=01;35:*.tif=01;35:*.tiff=01;35:*.png=01;35:*.svg=01;35:*.svgz=01;35:*.mng=01;35:*.pcx=01;35:*.mov=01;35:*.mpg=01;35:*.mpeg=01;35:*.m2v=01;35:*.mkv=01;35:*.webm=01;35:*.ogm=01;35:*.mp4=01;35:*.m4v=01;35:*.mp4v=01;35:*.vob=01;35:*.qt=01;35:*.nuv=01;35:*.wmv=01;35:*.asf=01;35:*.rm=01;35:*.rmvb=01;35:*.flc=01;35:*.avi=01;35:*.fli=01;35:*.flv=01;35:*.gl=01;35:*.dl=01;35:*.xcf=01;35:*.xwd=01;35:*.yuv=01;35:*.cgm=01;35:*.emf=01;35:*.ogv=01;35:*.ogx=01;35:*.aac=00;36:*.au=00;36:*.flac=00;36:*.m4a=00;36:*.mid=00;36:*.midi=00;36:*.mka=00;36:*.mp3=00;36:*.mpc=00;36:*.ogg=00;36:*.ra=00;36:*.wav=00;36:*.oga=00;36:*.opus=00;36:*.spx=00;36:*.xspf=00;36:',
            'SSH_CONNECTION': '112.64.68.254 57660 172.16.0.4 22',
            'LESSCLOSE': '/usr/bin/lesspipe %s %s',
            'LANG': 'en_US.UTF-8',
            'HISTTIMEFORMAT': 'root %Y/%m/%d %T ',
            'XDG_SESSION_ID': '373',
            'USER': 'root',
            'PWD': '/root',
            'HOME': '/root',
            'SSH_CLIENT': '112.64.68.254 57660 22',
            'XDG_DATA_DIRS': '/usr/local/share:/usr/share:/var/lib/snapd/desktop',
            'SSH_TTY': '/dev/pts/0',
            'MAIL': '/var/mail/root',
            'TERM': 'xterm-color',
            'SHELL': '/bin/bash',
            'SHLVL': '1',
            'LANGUAGE': 'en_US:',
            'PROMPT_COMMAND': 'history -a;',
            'LOGNAME': 'root',
            'XDG_RUNTIME_DIR': '/run/user/0',
            'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games:/usr/local/games:/snap/bin',
            'HISTSIZE': '1000',
            'HISTFILESIZE': '10000',
            'LESSOPEN': '| /usr/bin/lesspipe %s',
            '_': '/usr/bin/nohup',
            'KERNEL_LAUNCH_TIMEOUT': '40',
            'JPY_PARENT_PID': '21562',
            'CLICOLOR': '1',
            'PAGER': 'cat',
            'GIT_PAGER': 'cat',
            'MPLBACKEND': 'module://ipykernel.pylab.backend_inline'}
    
    1. os.name 输出字符串指示当前使用平台。win->'nt'; Linux->'posix'
    os.name
    
    'posix'
    
    1. 输出path用于分割文件路径的字符串
    os.pathsep
    
    ':'
    
    1. os.path.abspath(path) 返回path规范化的绝对路径
    os.path.abspath('./os.ipynb')
    
    
    '/root/os.ipynb'
    
    1. os.path.split(path) 将path分割成目录和文件名分隔成两部分,返回一个元组
    os.path.split(os.path.abspath('./os.ipynb'))
    
    ('/root', 'os.ipynb')
    
    1. os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素
    os.path.dirname(os.path.abspath('./os.ipynb'))
    
    '/root'
    
    1. os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
    os.path.basename(os.path.abspath('./os.ipynb'))
    
    'os.ipynb'
    
    1. os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False
    os.path.exists('/root') #存在
    
    True
    
    os.path.exists('/root/dsd') #不存在
    
    False
    
    1. os.path.isabs(path) 如果path是绝对路径,返回True
    os.path.isabs('/root') #绝对路径
    
    True
    
    os.path.isabs('./') # 非绝对路径
    
    False
    
    1. os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False
    os.path.isfile('./1.txt') # 已存在文件
    
    True
    
    os.path.isfile('/root') # 如果是目录页返回False
    
    False
    
    os.path.isfile('./2.txt') #文件不存在也返回False
    
    False
    
    1. os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False
    os.path.isdir('/root') # 如果是已存在目录页返回True
    
    True
    
    os.path.isdir('./1.txt') # 不能是文件
    
    False
    
    os.path.isfile('/ro') # 不存在的文件返回False
    
    False
    
    1. os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
    os.path.join('/','root','b')
    
    '/root/b'
    
    1. os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间
    os.path.getatime('./1.txt')
    
    1568614365.2767453
    
    1. os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间
    sos.path.getmtime('./1.txt')
    
    1568614360.308399
    

    相关文章

      网友评论

          本文标题:python模块---os

          本文链接:https://www.haomeiwen.com/subject/nkpvvctx.html