zoukankan      html  css  js  c++  java
  • Python os和sys模块基本操作

    os模块属性:

    在Mac平台结果:

    1 、os.path 输出python环境所在系统中路径

    print(os.path)

    <module 'posixpath' from '/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/posixpath.py'>
    

    2、os.name 输出字符串指示正在使用的平台。如果是window 则用'nt'表示,对于Linux/Unix用户,它是'posix'。

    print(os.name) # posix

    3、os.curdir 系统表示当前目录所用的字符串

    print(os.curdir) # .

    4、os.pardir 系统中表示父目录的字符串

    print(os.pardir) # ..

    5、os.sep 系统路径分隔符

    print(os.sep) # /

    6、os.extsep 系统使用的扩展符

    print(os.extsep) # .

    7、os.altsep 备用路径分隔符 None

    print(os.altsep) # None

    8、os.pathsep 在路径中使用的组件分隔符

    print(os.pathsep) # :

    9、os.linesep 系统 换行符

    print(os.linesep) # ' ' or ' ' or ' '

    10、os.defpath 可执行文件的默认搜索路径

    print(os.defpath) #:/bin:/usr/bin

    11、空设备文件路径

    print(os.devnull) #/dev/null

    os模块函数

    1、os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径

    cwd = os.getcwd()
    print(cwd)
    /Users/suxianglun/PycharmProjects/pythontest

    2、os.chdir(r'/Users/') 切换当前工作目录到指定目录

    os.chdir(r'/Users')
    cwd = os.getcwd()
    print(cwd)
    /Users

    3、os.makedirs('abc/allen/nv')# 创建多级目录 ,如果文件存在就会报错 FileExistsError: [Errno 17] File exists:

    4、os.mkdir('efg') # 创建单级目录

    5、os.removedirs('abc/allen/nv') # 删除多级目录

    6、os.remove('nv') # 删除单级目录

    7、os.listdir('abc/')列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印

    print(os.listdir('abc/'))
    [allen]

    8、os.system("ls") 运行shell命令,直接显示

    9、os.environ 获取系统环境变量

    environ({'PATH': '/usr/local/bin:/usr/bin:/bin:/usr/sbin:/sbin:/Applications/Wireshark.app/Contents/MacOS:/Users/suxianglun/Library/Android/sdk/tools:/Users/suxianglun/Library/Android/sdk/platform-tools:', 'PYTHONPATH': '/Users/suxianglun/PycharmProjects/pythontest', 'ANDROID_SDK': '/Users/suxianglun/Library/Android/sdk', 'SHELL': '/bin/bash', 'PYTHONIOENCODING': 'UTF-8', 'SECURITYSESSIONID': '186a8', 'VERSIONER_PYTHON_PREFER_32_BIT': 'no', 'USER': 'suxianglun', 'TMPDIR': '/var/folders/bb/__kwbrgd34z42k0j5flvl7gm0000gn/T/', 'ANDROID_HOME': '/Users/suxianglun/Library/Android/sdk', 'COMMAND_MODE': 'unix2003', 'SSH_AUTH_SOCK': '/private/tmp/com.apple.launchd.bShDhPU8aK/Listeners', 'NDK_HOME': '/Users/suxianglun/Library/Android/sdk/ndk-bundle', 'XPC_FLAGS': '0x0', 'PYTHONUNBUFFERED': '1', 'VERSIONER_PYTHON_VERSION': '2.7', '__CF_USER_TEXT_ENCODING': '0x1F5:0x19:0x34', 'Apple_PubSub_Socket_Render': '/private/tmp/com.apple.launchd.Lmld2HUMqr/Render', 'LOGNAME': 'suxianglun', 'LC_CTYPE': 'zh_CN.UTF-8', 'XPC_SERVICE_NAME': 'com.apple.xpc.launchd.oneshot.0x10000005.pycharm', 'PWD': '/Users/suxianglun/PycharmProjects/pythontest', 'PYCHARM_HOSTED': '1', 'HOME': '/Users/suxianglun', '__PYVENV_LAUNCHER__': '/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/bin/python3.6'})
    

    10、os.path

    path = 'abc/allen/nv'
    path1 = 'abc/'
    path2 = 'edf/hij'
    
    1、os.path.abspath(path)  #返回path规范化的绝对路径  
    /Users/suxianglun/PycharmProjects/pythontest/abc/allen/nv
    
    2、os.path.split(path)  #将path分割成目录和文件名二元组返回
     ('abc/allen', 'nv')
    
    3、os.path.dirname(path) abc/allen  #返回path的目录。其实就是
    os.path.split(path)返回列表中第一个元素 abc/allen
    
    
    4、os.path.basename(path) nv  #返回path最后的文件名。如何path以/或结尾,那么就会返回空值。即os.path.split(path)的第二个元素nv
    
    以上三个之间的关系
    
    os.path.split(path)=[os.path.dirname(path), os.path.basename(path)]
    
    
    5、os.path.exists(path) True  #如果path存在,返回True;如果path不存在,返回False  
    
    6、os.path.isabs(path)  False   #如果path是绝对路径,返回True
    
    7、os.path.isfile(path) False  #如果path是一个存在的文件,返回True。否则返回False
    
    8、os.path.isdir(path) True #如果path是一个存在的目录,则返回True。否则返回False
    
    9、os.path.join(path1, path2)  abc/edf/hij #将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
    
    10、os.path.getatime(path) 1526625257.0 #返回path所指向的文件或者目录的最后存取时间
    
    11、os.path.getmtime(path) 1526625250.0 #返回path所指向的文件或者目录的最后修改时间
    

    sys模块 用于提供对解释器相关的操作

    1、sys.argv 获取当前正在执行的命令行参数的参数列表(list)

    print(sys.argv)  
    ['/Users/suxianglun/PycharmProjects/pythontest/sys模块.py']
     
    print(sys.argv[0])  
    /Users/suxianglun/PycharmProjects/pythontest/sys模块.py'
    

    2、sys.platform系统名 Mac: darwin Windows:win32 Linux:linux

    print(sys.platform) # darwin

    3、sys.path 是一个目录列表,供Python从中查找第三方扩展模块。

    print(sys.path) 
    
    '''['/Users/suxianglun/PycharmProjects/pythontest',
    '/Users/suxianglun/PycharmProjects/pythontest',
    '/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python36.zip',
     '/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6',
     '/usr/local/Cellar/python3/3.6.2/Frameworks/Python.framework/Versions/3.6/lib/python3.6/lib-dynload',
     '/usr/local/lib/python3.6/site-packages']
    '''
    

    4、sys.builtin_module_names 返回一个列表,包含内建模块的名字。

    res = sys.builtin_module_names  
    print(res)
    ('_ast', '_codecs', '_collections', '_functools', '_imp', '_io', '_locale', '_operator',
     '_signal', '_sre', '_stat', '_string', '_symtable', '_thread', '_tracemalloc',
     '_warnings', '_weakref', 'atexit', 'builtins', 'errno', 'faulthandler', 'gc',
     'itertools', 'marshal', 'posix', 'pwd', 'sys', 'time', 'xxsubtype', 'zipimport')
    
    

    5、sys.exit(n) 调用sys.exit(n)可以中途退出程序,当参数非0时,会引发一个SystemExit异常,从而可以在主程序中捕获该异常。

    try:
        sys.exit(1)
    except SystemExit:
        print('SystemExit exit 1')
    
    print('exited')
    
  • 相关阅读:
    十步完全理解 SQL
    Oracle VM Virtual
    Pycharm 使用
    Open Yale course:Listening to Music
    SQL 必知必会
    安装 SQL server 2008 R2
    Ubuntu安装mysql之后,编译找不到头文件
    core dump文件的生成
    Linux静态库与动态库制作过程
    GEC6818连接Ubuntu,下载程序至开发板
  • 原文地址:https://www.cnblogs.com/suxianglun/p/9056699.html
Copyright © 2011-2022 走看看