os与sys模块的官方解释如下:

os: This module provides a portable way of using operating system dependent functionality.

这个模块提供了一种方便的使用操作系统函数的方法。

sys: This module provides access to some variables used or maintained by the interpreter and to functions that interact strongly with the interpreter.

这个模块可供访问由解释器使用或维护的变量和与解释器进行交互的函数。

总结就是,os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口;sys模块负责程序与Python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境。

os 常用方法

os.remove(‘path/filename’) 删除文件

os.rename(oldname, newname) 重命名文件

os.walk() 生成目录树下的所有文件名

os.chdir('dirname') 改变目录

os.mkdir/makedirs('dirname')创建目录/多层目录

os.rmdir/removedirs('dirname') 删除目录/多层目录

os.listdir('dirname') 列出指定目录的文件

os.getcwd() 取得当前工作目录

os.chmod() 改变目录权限

os.path.basename(‘path/filename’) 去掉目录路径,返回文件名

os.path.dirname(‘path/filename’) 去掉文件名,返回目录路径

os.path.join(path1[,path2[,...]]) 将分离的各部分组合成一个路径名

os.path.split('path') 返回( dirname(), basename())元组

os.path.splitext() 返回 (filename, extension) 元组

os.path.getatime\ctime\mtime 分别返回最近访问、创建、修改时间

os.path.getsize() 返回文件大小

os.path.exists() 是否存在

os.path.isabs() 是否为绝对路径

os.path.isdir() 是否为目录

os.path.isfile() 是否为文件

sys 常用方法

sys.argv 命令行参数List,第一个元素是程序本身路径

sys.modules.keys() 返回所有已经导入的模块列表

sys.exc_info() 获取当前正在处理的异常类,exc_type、exc_value、exc_traceback当前处理的异常详细信息

sys.exit(n) 退出程序,正常退出时exit(0)

sys.hexversion 获取Python解释程序的版本值,16进制格式如:0x020403F0

sys.version 获取Python解释程序的版本信息

sys.maxint 最大的Int值

sys.maxunicode 最大的Unicode值

sys.modules 返回系统导入的模块字段,key是模块名,value是模块

sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

sys.platform 返回操作系统平台名称

sys.stdout 标准输出

sys.stdin 标准输入

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.stdin,sys.stdout,sys.stderr

stdin , stdout , 以及stderr 变量包含与标准I/O 流对应的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需要的. 你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标准的方式处理它们
我们常用print和raw_input来进行输入和打印,那么print 和 raw_input是如何与标准输入/输出流建立关系的呢?
其实Python程序的标准输入/输出/出错流定义在sys模块中,分别 为: sys.stdin,sys.stdout, sys.stderr
下列的程序也可以用来输入和输出是一样的:
import sys

sys.stdout.write('HelloWorld!')

print 'Please enter yourname:',
name=sys.stdin.readline()[:-1]
print 'Hi, %s!' % name

那么sys.stdin, sys.stdout, stderr到底是什么呢?我们在Python运行环境中输入以下代码:
import sys
for f in (sys.stdin,sys.stdout, sys.stderr): print f
输出为:
<open file'<stdin>', mode 'r' at 892210>
<open file'<stdout>', mode 'w' at 892270>
<open file'<stderr>', mode 'w at 8922d0>

由此可以看出stdin, stdout, stderr在Python中无非都是文件属性的对象,他们在Python启动时自动与Shell 环境中的标准输入,输出,出错关联。
而Python程序的在Shell中的I/O重定向与本文开始时举的DOS命令的重定向完全相同,其实这种重定向是由Shell来提供的,与Python 本身并无关系。那么我们是否可以在Python程序内部将stdin,stdout,stderr读写操作重定向到一个内部对象呢?答案是肯定的。
Python提供了一个StringIO模块来完成这个设想,比如:
from StringIO import StringIO
import sys
buff =StringIO()

temp =sys.stdout                              #保存标准I/O流
sys.stdout =buff                                #将标准I/O流重定向到buff对象
print 42, 'hello', 0.001

sys.stdout=temp                                #恢复标准I/O流
print buff.getvalue()

转载于:https://www.cnblogs.com/aomi/p/6927164.html

python每日一类(3):os和sys相关推荐

  1. python中Json、os、sys、hashlib等内置模块

    1. 序列化模块 1.1 json 模块 不同语言都遵循的一种数据转化格式,即不同语言都使用的特殊字符串. json序列化只支持部分Python数据结构:dict,list,tuple,str,int ...

  2. python基础——logging、OS、sys、random、string模块(0424)

    2019独角兽企业重金招聘Python工程师标准>>> 一.日志记录模块  logging logging模块是Python内置的标准模块,主要用于输出运行日志,可以设置输出日志的等 ...

  3. python mkdir覆盖_python os.mkdir与 os.makedirs

    1.mkdir( path [,mode] ) 作用:创建一个目录,可以是相对或者绝对路径,mode的默认模式是0777. 如果目录有多级,则创建最后一级.如果最后一级目录的上级目录有不存在的,则会抛 ...

  4. Python基础18-常用模块之os、sys、json、pickle、shelve、xml、re、logging、configparse、hashlib等

    目录 os.os.path sys json pickle.shelve.xml.re.logging.configparse.hashlib未完待续-- os.os.path Python的os模块 ...

  5. python 苹果李子橙_Python模块知识6:OS、SYS模块

    1.os模块,和系统相关的,比如获取路径.目录.文件夹之类 常用方法: os.getcwd() #获取当前工作目录,即当前Python脚本工作的目录路径 os.rename('oldname','ne ...

  6. python中sys用法_python中os和sys模块的区别与常用方法总结

    python 的 python中os和sys模块的区别与常用方法总结 前言 本文主要介绍了关于python中os和sys模块区别与常用方法的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看 ...

  7. python 基本模块 random、os、sys

    一.random模块 所有关于随机相关的内容都在random模块中 import random print(random.random()) # 0-1⼩数 print(random.uniform( ...

  8. python中的sys的概念和作用_Python(os和sys)理解

    Python(os和sys)理解 os模块负责程序与操作系统的交互,提供了访问操作系统底层的接口; sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时 ...

  9. Python中os与sys两模块的区别

    <os和sys的官方解释> ➤os os: This module provides a portable way of using operating system dependent ...

最新文章

  1. Matlab与线性代数 -- 矩阵的加法与减法
  2. 年末回顾:2021年 AI 领域十大研究趋势及必读论文
  3. CTF EasyStrcmp
  4. navicat 结合快捷键 非常好用
  5. html程序国庆节祝福,2018最新的国庆节祝福语
  6. 矢量合成和分解的法则_专题06 共点力的合成与分解
  7. 学习python:异常处理
  8. 蒋江伟:代码是我们最重要的资产!
  9. labview获取窗口句柄_LabVIEW调用WindowsAPI函数实现VI窗口置顶
  10. vr全景图制作软件都有哪些?
  11. 最新:2021年7月全国程序员平均薪资出炉!你还坐得住吗?
  12. 最全解读】各种金融机构的产品分析(银行、证券、基金、信托...)
  13. 笔记本电脑触摸板无法使用(失灵)解决方案 (win10和win7通用)
  14. 荣耀加冕,追梦不休 | 我的大学时光
  15. Win7升为Win10以及win7系统的重装
  16. c语言中“函数的定义不可以嵌套,但函数的调用可以嵌套
  17. mysql:Windows修改MySQL数据库密码(修改或忘记密码)
  18. 中国小麦加工产业运行动态分析及投资前景预测报告2022-2028年
  19. 【论文笔记】Are We Ready for Vision-Centric Driving Streaming Perception? The ASAP Benchmark
  20. Linux操作系统之—所有端口详解大全手册

热门文章

  1. 网众无盘服务器 快车挂盘失败 显示 当前磁盘已经为超级工作站模式,网众无盘超级工作站的一些经验总结...
  2. 星型模型 3nf的区别_贵州省遵义市工业模型经典案例展示
  3. javascript获取系统时间时区_5个JavaScript技巧让你成为更好的开发者
  4. android中怎么网络判断,Android中判断网络是否连接实例详解
  5. idea启动springboot卡_写给新手看的 Spring Boot 入门学习指南
  6. oracle 优化逻辑读过高,详述逻辑读与arraysize的关系
  7. join为什么每个字符都分割了 js_JS截取与分割字符串常用技巧总结
  8. 本质矩阵与基本矩阵(对极几何)
  9. JAVA入门到精通-第71讲-学生管理系统3-增删改查
  10. Browser Security-同源策略、伪URL的域