sys模块和os模块

Posted songxiaohua

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了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路径名

 

 

 

 

 

以上是关于sys模块和os模块的主要内容,如果未能解决你的问题,请参考以下文章

python模块-os模块和sys模块

os和sys模块

python基础学习os模块和sys模块

python 3.6.5 sys模块和os模块

python-time模块sys模块os模块以及大量实例

43os和sys模块的作用?