• Python之OS模块函数


    Python中的os模块提供了操作系统相关功能的函数,可以更加方便的在python脚本中对linux的文件目录的处理和shell的应用。

    os.system("bash")

    运行shell命令,直接显示

    #应用ls命令查看当前目录下的文件
    >>> import os >>> print(os.system('ls')) alien_invasion.py anzhaung.py mpl_squares.py Python-3.6.3 Python-3.6.3.tgz Python-3.6.3.tgz.1 root.py >>>

    os.environ

    获取环境变量

    >>> print(os.environ)
    {'MAVEN_HOME': '/usr/local/maven', 'LESSOPEN': '||/usr/bin/lesspipe.sh %s', 'SSH_CLIENT': '1.202.148.250 55342 22', 'LOGNAME': 'root', 'USER': 'root', 'PATH': '/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:
    ..........
    >>>

    os.getcwd()

    获取当前工作目录,即当前python脚本工作的目录路径

    >>> print(os.getcwd())
    /home/feiji
    >>> 

    os.chdir()

    修改当前脚本的工作目录,相当于cd

    >>> os.chdir("/home")
    >>> print(os.getcwd())
    /home
    >>> 

    os.curdir

    返回当前目录 ‘.’   我理解的是上面用os.chdir修改了工作目录,这里返回的话应该是/home/feiji才对,但是确实/home

    >>> os.curdir
    '.'
    >>> print(os.getcwd())
    /home

    os.makedirs('目录1/目录2')

    生成多层递归目录相当于 mkdir -r

    >>> os.makedirs('new1/new2')
    >>> print(os.system('ls'))
    1.sh  3.sh         5.sh  admin  b.sh         feiji    funcation.sh           jq.sh  user_00  user_02    user_04  user_06  user_08  user_10  user_12  user_14  user_16  user_18    user_20
    2.sh  47.98.190.211  abc   a.tex  error.log  free.sh  jdk-8u131-linux-x64.rpm  new1   
    >>> 

    os.mkdir('新目录')

    生成单层新目录

    >>> os.mkdir('new2')
    >>> print(os.system('ls'))
    1.sh  47.98.190.211  admin  error.log  funcation.sh        new1     user_01  user_04  user_07  user_10  user_13  user_16  user_19
    2.sh  5.sh         a.tex  feiji      jdk-8u131-linux-x64.rpm    new2     
    
    >>> 

    os.removedirs('')

    删除多层目录,可以看到上面建立的/new1/new2没有了  注意:只有目录为空时才删除

    >>> os.removedirs('/home/new1/new2')
    >>> print(os.system('ls'))
    1.sh  3.sh         5.sh  admin  b.sh         feiji    funcation.sh           jq.sh  user_00  user_02    user_04  user_06  user_08  user_10  user_12  user_14  user_16  user_18    user_20
    2.sh  47.98.190.211  abc   a.tex  error.log  free.sh  jdk-8u131-linux-x64.rpm  new2   
    >>> 

    os.rmdir('')

    删除单层目录

    >>> print(os.rmdir('new2'))
    None

    os.remove('')

    删除一个文件

    >>> print(os.remove('1.sh'))
    None

    os.listdir('')

    列出指定目录下的文件和目录

    >>> print(os.listdir('feiji'))
    ['alien_invasion.py', 'anzhaung.py', 'Python-3.6.3', 'root.py', 'Python-3.6.3.tgz.1', 'mpl_squares.py', 'Python-3.6.3.tgz']
    >>> 

    os.rename('old','new')

    重命名文件或目录

    >>> os.rename('2.sh','22.sh')

    os.stat('')

    查看文件或目录属性信息

    >>> os.stat('22.sh')
    posix.stat_result(st_mode=33188, st_ino=401743, st_dev=64769L, st_nlink=1, st_uid=0, st_gid=0, st_size=335, st_atime=1564478716, st_mtime=1564478715, st_ctime=1569487383)
  • 相关阅读:
    js 判断用户是否联网
    vue cli 2.9.6 低版本安装失败
    'webpack-dev-server' 不是内部或外部命令,也不是可运行 的程序 或批处理文件。
    Jenkins创建运行用例
    python的类变量和成员变量
    Airtest移动端自动化测试环境搭建 一
    pytest使用总结笔记
    Python单元测试框架之pytest---如何执行测试用例
    UI自动化之分层思想pom模式
    【Fiddler篇】抓包工具之Filters(过滤器)进行会话过滤
  • 原文地址:https://www.cnblogs.com/aloneysir/p/11592788.html
Copyright © 2020-2023  润新知