sys模块

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

函数

  • sys.argv #命令行参数List,第一个元素是程序本身路径
  • sys.path #返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
  • sys.modules.keys() #返回所有已经导入的模块列表
  • sys.modules #返回系统导入的模块字段,key是模块名,value是模块
  • sys.exc_info() #获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息
  • sys.exit(n) #退出程序,正常退出时exit(0)
  • sys.hexversion #获取Python解释程序的版本值,16进制格式如:0x020403F0
  • sys.version #获取Python解释程序的版本信息
  • sys.platform #返回操作系统平台名称
  • sys.maxint # 最大的Int值
  • sys.stdout #标准输出
  • sys.stdout.write('aaa') #标准输出内容
  • sys.stdout.writelines() #无换行输出
  • sys.stdin #标准输入
  • sys.stdin.read() #输入一行
  • sys.stderr #错误输出
  • sys.exc_clear() #用来清除当前线程所出现的当前的或最近的错误信息
  • sys.exec_prefix #返回平台独立的python文件安装的位置
  • sys.byteorder #本地字节规则的指示器,big-endian平台的值是'big',little-endian平台的值是'little'
  • sys.copyright #记录python版权相关的东西
  • sys.api_version #解释器的C的API版本
  • sys.version_info #'final'表示最终,也有'candidate'表示候选,表示版本级别,是否有后继的发行
  • sys.getdefaultencoding() #返回当前你所用的默认的字符编码格式
  • sys.getfilesystemencoding() #返回将Unicode文件名转换成系统文件名的编码的名字
  • sys.builtin_module_names #Python解释器导入的内建模块列表
  • sys.executable #Python解释程序路径
  • sys.getwindowsversion() #获取Windows的版本
  • sys.stdin.readline() #从标准输入读一行,sys.stdout.write(a) 屏幕输出a
  • sys.setdefaultencoding(name) #用来设置当前默认的字符编码(详细使用参考文档)
  • sys.displayhook(value) #如果value非空,这个函数会把他输出到sys.stdout(详细使用参考文档)

常用功能

sys.arg 获取位置参数
print(sys.argv) 执行该脚本,加参数的打印结果
python3 m_sys.py 1 2 3 4 5 ['m_sys.py', '', '', '', '', '']
可以发现 sys.arg返回的是整个位置参数,类似于shell的$0 $1...
sys.exit(n) 程序退出,n是退出是返回的对象
sys.version 获取python版本
>>> sys.version
'3.5.1 (v3.5.1:37a07cee5969, Dec 5 2015, 21:12:44) \n[GCC 4.2.1 (Apple Inc. build 5666) (dot 3)]'
sys.path 返回模块的搜索路径列表,可通过添加自定义路径,来添加自定义模块
>>> sys.path
['', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python35.zip', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/plat-darwin', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.5/lib/python3.5/site-packages'] sys.platform 返回当前系统平台 linux平台返回linux,windows平台返回win32,MAC返回darwin
>>> sys.platform
'darwin
sys.stdout.write() 输出内容
>>> sys.stdout.write('asd')
asd3
>>> sys.stdout.write('asd')
asd3
>>> sys.stdout.write('as')
as2

应用:

进度条:

#!/usr/bin/env python
# -*- coding: UTF-8 -*-
#pyversion:python3.5
#owner:fuzj """
sys 和python解析器相关
""" import sys
import time def view_bar(num,total): rate = num / total
rate_num = int(rate * 100)
#r = '\r %d%%' %(rate_num)
r = '\r%s>%d%%' % ('=' * rate_num, rate_num,)
sys.stdout.write(r)
sys.stdout.flush if __name__ == '__main__':
for i in range(0, 101):
time.sleep(0.1)
view_bar(i, 100)
效果: ====================================================================================================>100%

os模块

OS模块是Python标准库中的一个用于访问操作系统功能的模块,使用OS模块中提供的接口,可以实现跨平台访问

用于提供系统级别的操作

  • os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径
  • os.chdir(dirname) 改变当前脚本工作目录;相当于shell下cd
  • os.curdir 返回当前目录: ('.')
  • os.pardir 获取当前目录的父目录字符串名:('..')
  • os.makedirs('dir1/dir2') 可生成多层递归目录
  • os.removedirs('dirname1') 若目录为空,则删除,并递归到上一级目录,如若也为空,则删除,依此类推
  • os.mkdir('dirname') 生成单级目录;相当于shell中mkdir dirname
  • os.rmdir('dirname') 删除单级空目录,若目录不为空则无法删除,报错;相当于shell中rmdir dirname
  • os.listdir('dirname') 列出指定目录下的所有文件和子目录,包括隐藏文件,并以列表方式打印
  • os.remove() 删除一个文件
  • os.rename(oldname,new) 重命名文件/目录
  • os.stat('path/filename') 获取文件/目录信息
  • os.sep 操作系统特定的路径分隔符,win下为\,Linux下为/
  • os.linesep 当前平台使用的行终止符,win下为\t\n,Linux下为\n
  • os.pathsep 用于分割文件路径的字符串
  • os.name 字符串指示当前使用平台。win->'nt'; Linux->'posix'
  • os.system(bash command) 运行shell命令,直接显示
  • os.environ 获取系统环境变量
  • os.path.abspath(path) 返回path规范化的绝对路径
  • os.path.split(path) 将path分割成目录和文件名二元组返回
  • os.path.dirname(path) 返回path的目录。其实就是os.path.split(path)的第一个元素
  • os.path.basename(path) 返回path最后的文件名。如何path以/或\结尾,那么就会返回空值。即os.path.split(path)的第二个元素
  • os.path.exists(path) 如果path存在,返回True;如果path不存在,返回False
  • os.path.lexists  #路径存在则返回True,路径损坏也返回True
  • os.path.isabs(path) 如果path是绝对路径,返回True
  • os.path.isfile(path) 如果path是一个存在的文件,返回True。否则返回False
  • os.path.isdir(path) 如果path是一个存在的目录,则返回True。否则返回False
  • os.path.join(path1[, path2[, ...]]) 将多个路径组合后返回,第一个绝对路径之前的参数将被忽略
  • os.path.getatime(path) 返回path所指向的文件或者目录的最后存取时间
  • os.path.getmtime(path) 返回path所指向的文件或者目录的最后修改时间
  • os.path.commonprefix(list) #返回list(多个路径)中,所有path共有的最长的路径。
  • os.path.expanduser(path)  #把path中包含的"~"和"~user"转换成用户目录
  • os.path.expandvars(path)  #根据环境变量的值替换path中包含的”$name”和”${name}”
  • os.access('pathfile',os.W_OK) 检验文件权限模式,输出True,False
  • os.chmod('pathfile',os.W_OK) 改变文件权限模式

os和sys模块的更多相关文章

  1. Python os与sys模块解析

    os与sys模块的官方解释如下: os: This module provides a portable way of using operating system dependent functio ...

  2. Python中os与sys模块的区别

    os与sys模块的官方解释如下: os: This module provides a portable way of using operating system dependent functio ...

  3. 43、os和sys模块的作用?

    os与sys模块的官方解释如下: os:这个模块提供了一种方便的使用操作系统函数的方法. sys:这个模块可供访问由解释器使用或维护的变量和与解释器进行交互的函数. 总结:os模块负责程序与操作系统的 ...

  4. python os和sys模块使用

    python os和sys模块使用 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相 ...

  5. Python 的 os 与 sys 模块

    os与sys模块的官方解释如下: os: This module provides a portable way of using operating system dependent functio ...

  6. [xml模块、hashlib模块、subprocess模块、os与sys模块、configparser模块]

    [xml模块.hashlib模块.subprocess模块.os与sys模块.configparser模块] xml模块 XML:全称 可扩展标记语言,为了能够在不同的平台间继续数据的交换,使交换的数 ...

  7. python标准模块(os及sys模块)

    一.os模块 用于提供系统级别的操作 os.getcwd() 获取当前工作目录 os.stat('path/filename') 获取文件/目录信息,其中包括文件大小等 os.sep 获得操作系统特定 ...

  8. python中os和sys模块的详解

    平时在工作中经常会用到os模块和sys模块的一些特性,下面是这些特性的一些相关解释,希望对大家有所帮助 os模块 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os. ...

  9. Day5模块-os和sys模块

    os模块:操作系统调用的接口 ------------------------------------------------------------------------------------- ...

随机推荐

  1. 浅谈设计模式--组合模式(Composite Pattern)

    组合模式(Composite Pattern) 组合模式,有时候又叫部分-整体结构(part-whole hierarchy),使得用户对单个对象和对一组对象的使用具有一致性.简单来说,就是可以像使用 ...

  2. QT5 动态链接库的创建和使用

    记录一下QT5 动态链接库的创建和使用 在文章的最后有完成的代码供下载 1.创建动态链接库 先新建一个库项目 选择chose进入下一下页面,类型选择共享库,输入一个名称:我输入的是sld 再点击下一步 ...

  3. c#邮件发送的实现

    第一步 :引用命名空间 using System.Net; using System.Net.Mail; 第二步:具体代码 //创建邮箱信息 MailMessage myMail = new Mail ...

  4. Qt环境搭建(Qt Creator)+Visual Studio

    1.http://www.cnblogs.com/ranjiewen/p/5318768.html 简述 经常有人问我编写Qt程序时使用什么IDE,其实这个真的很难回答(各有所长),只能说看个人爱好了 ...

  5. 架构系列:ASP.NET 项目结构搭建

    我们头开始,从简单的单项目解决方案,逐步添加业务逻辑的约束,从应用逻辑和领域逻辑两方面考虑,从简单的单个项目逐步搭建一个多项目的解决方案.主要内容:(1)搭建应用逻辑和领域逻辑都简单的单项目 (2)为 ...

  6. Koa框架实践与中间件原理剖析

     最近尝试用了一下Koa,并在此记录一下使用心得. 注意:本文是以读者已经了解Generator和Promise为前提在写的,因为单单Generator和Promise都能够写一篇博文来讲解介绍了,所 ...

  7. 解决问题:由于扩展配置问题而无法提供您请求的页面。如果该页面是脚本,请添加处理程序。如果应下载文件,请添加 MIME 映射。

    WindowServer2012服务器,添加角色安装完.netframework和iis之后,运行aspx页面就报如下错误: HTTP 错误 404.3 - Not Found 由于扩展配置问题而无法 ...

  8. 如何限制虚拟主机可使用的CPU资源

    使用IIS 6.0运营虚拟主机的朋友们都会碰到这样一个问题,当某个网站占用大量CPU资源时,会把整个服务器都拖慢了,影响服务器上其他网站的访问速度,客户们的投诉也让系统管理员倍感头疼.我们知道,从II ...

  9. pdo简单操作

    PDO(PHP Data Object) 是PHP 5新出来的东西,在PHP 6都要出来的时候,PHP 6只默认使用PDO来处理数据库,将把所有的数据库扩展移到了PECL,那么默认就是没有了我们喜爱的 ...

  10. freemarker 分页取值

    <#if pagination??&&pagination.list??> <#list pagination.list as video> <td al ...