zoukankan      html  css  js  c++  java
  • sys模块和os模块

    1.sys

      平台与版本

    >>> import sys
    >>> sys.platform,sys.maxsize,sys.version
    ('win32', 9223372036854775807, '3.6.1 (v3.6.1:69c0db5, Mar 21 2017, 18:41:36) [MSC v.1900 64 bit (AMD64)]')

      模块搜索路径

        sys.path 是一个由目录名称字符串组成的列表,每个目录名称字符串代表正在运行的python解释器的真正的搜索路径.模块导入时,Python会从左到右扫描列表,在列表中的每个目录下搜索模块文件.

    >>> sys.path
    ['', 'C:\Program Files\Python36\python36.zip', 'C:\Program Files\Python36\DLLs', 'C:\Program Files\Python36\lib', 'C:\Program Files\Python36', 'C:\Users\admin\AppData\Roaming\Python\Python36\site-packages', 'C:\Program Files\Python36\lib\site-packages', 'C:\Program Files\Python36\lib\site-packages\xlrd-1.1.0-py3.6.egg', 'C:\Program Files\Python36\lib\site-packages\win32', 'C:\Program Files\Python36\lib\site-packages\win32\lib', 'C:\Program Files\Python36\lib\site-packages\Pythonwin']

      异常的详细信息

        注:这个调用返回的前两项直接打印是显示具有一定格式的字符串,而第三项是一个追踪对象,可以用标准模块traceback处理

    >>> import traceback,sys
    >>> def grail(x):
    ...     raise TypeError('already got one')
    ...
    >>> try:
    ...     grail('arthur')
    ... except:
    ...     exc_info = sys.exc_info()
    ...     print(exc_info[0])
    ...     print(exc_info[1])
    ...     traceback.print_tb(exc_info[2])
    ...
    <class 'TypeError'>
    already got one
      File "<stdin>", line 2, in <module>
      File "<stdin>", line 2, in grail

    2.os

      os模块中的工具

         常用OS模块工具:

    Shell 变量                     os.environ
    运行程序                        os.system, os.popen, os.execv, os.spawnv
    派生程序                        os.fork, os.price, os.waitpid, os.kill
    文件描述符,文件锁            os.open, os.read, os.write
    文件处理                         os.remove, os.rename, os.mkfifo, os.mkdir, os.rmdir
    管理工具                         os.getcwd, os.chdir, os.chmod, os.getpid, os.listdir, os.access
    移植工具                         os.sep, os.pathsep, os.curdir, os.path.split, os.path.join
    路径名工具                      os.path.exists('path'), os.path.isdir('path'), os.path.getsize('path')

      常见os.path工具

    os.path.abspath(path) #返回绝对路径
    os.path.basename(path) #返回文件名
    os.path.commonprefix(list) #返回list(多个路径)中,所有path共有的最长的路径。
    os.path.dirname(path) #返回文件路径
    os.path.exists(path)  #路径存在则返回True,路径损坏返回False
    os.path.lexists  #路径存在则返回True,路径损坏也返回True
    os.path.expanduser(path)  #把path中包含的"~"和"~user"转换成用户目录
    os.path.expandvars(path)  #根据环境变量的值替换path中包含的”$name”和”${name}”
    os.path.getatime(path)  #返回最后一次进入此path的时间。
    os.path.getmtime(path)  #返回在此path下最后一次修改的时间。
    os.path.getctime(path)  #返回path的大小
    os.path.getsize(path)  #返回文件大小,如果文件不存在就返回错误
    os.path.isabs(path)  #判断是否为绝对路径
    os.path.isfile(path)  #判断路径是否为文件
    os.path.isdir(path)  #判断路径是否为目录
    os.path.islink(path)  #判断路径是否为链接
    os.path.ismount(path)  #判断路径是否为挂载点()
    os.path.join(path1[, path2[, ...]])  #把目录和文件名合成一个路径
    os.path.normcase(path)  #转换path的大小写和斜杠
    os.path.normpath(path)  #规范path字符串形式
    os.path.realpath(path)  #返回path的真实路径
    os.path.relpath(path[, start])  #从start开始计算相对路径
    os.path.samefile(path1, path2)  #判断目录或文件是否相同
    os.path.sameopenfile(fp1, fp2)  #判断fp1和fp2是否指向同一文件
    os.path.samestat(stat1, stat2)  #判断stat tuple stat1和stat2是否指向同一个文件
    os.path.split(path)  #把路径分割成dirname和basename,返回一个元组
    os.path.splitdrive(path)   #一般用在windows下,返回驱动器名和路径组成的元组
    os.path.splitext(path)  #分割路径,返回路径名和文件扩展名的元组
    os.path.splitunc(path)  #把路径分割为加载点与文件
    os.path.walk(path, visit, arg)  #遍历path,进入每个目录都调用visit函数,visit函数必须有
    3个参数(arg, dirname, names),dirname表示当前目录的目录名,names代表当前目录下的所有
    文件名,args则为walk的第三个参数
    os.path.supports_unicode_filenames  #设置是否支持unicode路径名

     

  • 相关阅读:
    yb课堂之自定义异常和配置 《五》
    文件包含总结--2018自我整理
    文件上传总结--2018自我整理
    i春秋 “百度杯”CTF比赛 十月场 web题 Backdoor
    bugku web题INSERT INTO注入
    SCTF2018-Event easiest web
    初识thinkphp(5)
    “百度杯”CTF比赛 九月场 YeserCMS
    初识thinkphp(4)
    0MQ是会阻塞的,不要字面上看到队列就等同非阻塞。
  • 原文地址:https://www.cnblogs.com/songxiaohua/p/9193960.html
Copyright © 2011-2022 走看看