sys模块包括了一组非常实用的服务,内含很多函数方法和变量,用来处理Python运行时配置以及资源,从而可以与前当程序之外的系统环境交互,如:Python解释器。

1. 导入sys模块

首先,打开终端模拟器进入Python解释器或者打开IDE编辑器创建一个新的.py后缀名的Python程序文件。

下面,以解释器中的操作举例:

>>> import sys #导入sys模块
>>> dir(sys)     #dir()方法查看模块中可用的方法

注意:如果是在编辑器,一定要注意要事先声明代码的编码方式,否则中文会乱码。

2. sys模块重要函数变量

1 ) sys.stdin 标准输入流。
2)sys.stdout 标准输出流。
3 ) sys.stderr 标准错误流。
4 ) sys.path 查找模块所在目录的目录名列表。
5 ) sys.argv 命令行的参数,包括脚本名称。
6 ) sys.platform 返回当前系统平台,如:win32、Linux等。

3. sys常用方法使用说明

一、stdin:从标准输入读入数据

script.py

import sys
text = sys.stdin.read()
words = text.split()
for i in words:print i

cat source.txt | script.py | sort

二、argv:获取程序外部向程序传递的参数

script.py

import sys
print sys.argv[0]
print sys.argv[1]

python script.py arg1 arg2

三、exit():退出当前进程

scrpit.py

import sysdef exitfunc(value):print valuesys.exit(0)print "hello"try:sys.exit(1)
except SystemExit,value:exitfunc(value)print "come?"

python script.py

四、stdout

这个有点复杂

首先介绍一下stdout与print 的区别

print 将你需要的内容打印到了控制台,然后追加了一个换行符

print 会调用 sys.stdout 的 write 方法

下边两行结果是一样的:

sys.stdout.write('hello'+'\n')
print 'hello'

sys.stdout指向控制台,如果将文件对象的引用赋值给sys.stdout,那么就会输出到文件。如果输出到文件之后还想在控制台输出内容,那么应该将控制台的对象引用保存下来。

# -*- coding = UTF-8 -*-
import sys
f_handler = open('out.log','w')
__console__ = sys.stdout
sys.stdout = f_handler
print 'hello'#这一行将会输出到文件,和调用文件的write方法相同
sys.stdout = __console__
print 'hello'#这一行输出到控制台

python学习笔记(十一)标准库sys相关推荐

  1. Python学习笔记:requests库

    Python学习笔记:requests库 利用requests这个功能强大的网络请求库,可以像浏览器一样发送各种HTTP请求来获取网站的数据. 一.运行环境 1.系统版本:Windows 10 2.P ...

  2. python学习笔记之numpy库的使用——超详细

    文章目录 NumPy介绍 一.如何创建 1.导入Numpy库,并命名为np: 2.查看版本 3.通过列表创建一维数组: 4.通过列表创建二维数组: 5.创建全为0的二维数组 6.创建全为1的三维数组 ...

  3. 【C++学习笔记】标准库类型vector

      标准库类型vector表示对象的集合,其中多有对象的类型都相同,集合中的每个对象都有一个与之对象的索引用来访问对象,需要注意的是引用不是对象,所以不存在包含引用的vector,因其用来容纳着其他对 ...

  4. 【C++学习笔记】标准库类型string

      标准库类型string表示可变长的字符序列,使用string类型必须先包含string头文件,string定义在命名空间std. #include <string> using std ...

  5. Python 学习笔记 (8)—— sys模块

    主要介绍用的比较多的sys的模块命令包括:sys.argv,sys.platform,sys.getdefaultencoding,sys.setdefaultencoding(),sys.getfi ...

  6. Python学习笔记 十一:图形用户界面和小游戏开发

    1. 基于tkinter模块的GUI GUI是图形用户界面的缩写,图形化的用户界面对使用过计算机的人来说应该都不陌生,在此也无需进行赘述. Python默认的GUI开发模块是tkinter(在Pyth ...

  7. python学习笔记(自定义库文件路径)

    博主最近在弄接口自动化.主要是基于python自带的unittest框架.包括 Pubilc模块定义所有接口. Main模块根据业务需求重新封装接口便于测试. config文件导入测试业务的固定参数. ...

  8. python学习笔记(常用库)

    一.numpy 二.pandas 2.3 series结构 基本操作 import pandas as pdfandango = pd.read_csv('E:\\唐宇迪机器学习\Python库代码( ...

  9. Python学习笔记十一:面向对象

    面向对象技术简介 类(Class): 用来描述具有相同的属性和方法的对象的集合.它定义了该集合中每个对象所共有的属性和方法.对象是类的实例. 类变量:类变量在整个实例化的对象中是公用的.类变量定义在类 ...

  10. python提示keyerror 13372,Python 学习笔记之—— Pandas 库

    import numpy as np import pandas as pd 1. 基本的数据结构 1.1 Series Series 是一维的标记数组,可以容纳任意数据类型,比如整数.字符串.浮点数 ...

最新文章

  1. TensorFlow 2.0开发者预览版发布
  2. 如何在Gihub上面精准搜索开源项目?
  3. 如何高效的管理团队?提高组织能力是关键!
  4. java list键值_java基础之对List,Map,Set等集合键值对的简单认识
  5. 用switch写收水费的c语言程序,超级新手,用switch写了个计算器程序,求指导
  6. 【 FPGA 】序列检测器的Mealy状态机实现
  7. Python D6 if分支结构
  8. python编程从入门到精通读书笔记(基础知识)
  9. SUBSTRING的用法问题
  10. linux 进程 命令 cat,Linux cat命令详解
  11. 7-138 打印沙漏 (20 分)
  12. ArrayList在foreach正常迭代删除不报错的原因
  13. uniapp使用cmd引入uview报错,文件查找失败:‘uview-ui‘
  14. 你是否真的适合搞NDK开发?
  15. Atitit 重大问题解决法---记不住问题的解决 目录 1. 记不住的原因 1 2. 大脑存储内容分布 2 2.1. Jvm的存储机制 2 2.2. 人的存储机制 2 2.2.1. 图片区视觉区
  16. python画航线图_Python获取航线信息并且制作成图的讲解
  17. IPython安装使用详解
  18. 爬取豆瓣电影排行榜(评分)
  19. 2018-03-08,模板消息推送,全代码,多多指教
  20. mate7 android 6 root权限管理,华为Mate7 Root权限怎么获取 华为Mate7 Root权限获取教程【详解】...

热门文章

  1. 顺序表的所有基本操作
  2. mc显示服务器生命值,[1.7-1.8]CombatIndicator — 全息显示攻击伤害的数值 让我的世界服务器更有游戏感...
  3. mysql ddl 语法解析工具_sharding-sphere之语法解析器
  4. easyexcel获取所有sheet页名称_老板让我汇总多个sheet,我不会,同事却说使用PQ仅需2步搞定...
  5. Mybatis插入数据后获取主键的值
  6. 中导入pygame_Pygame(二)--线条的艺术
  7. web软件测试 测试报告模板_杭州软件测试培训要多长时间?需要学习什么内容?...
  8. oracle11g 查看磁盘,oracle11g 磁盘
  9. apisix实际应用_Apache APISIX 的高性能实践
  10. linux 内核模块太大,Linux内核模块文件大小