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模块的主要内容,如果未能解决你的问题,请参考以下文章