sys模块功能众多,这边先学习几个常用的方法
sys常见函数列表
① sys.argv: 实现从程序外部向程序传递参数。其实sys.argv[]就是一个列表,里面的项为用户输入的参数,但是sys.argv[0]表示代码本身所在的文件路径,对应的sys.argv[1]表示外部传入的第一个
参数,sys.argv[2]表示从外部传入的第二个参数,依次类推。

② sys.exit([arg]): 程序中间的退出,arg=0为正常退出。
③ sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii
sys.setdefaultencoding(): 设置系统默认编码,注意执行dir(sys)时不会看到这个方法,在解释器中执行不通过,可以先执行reload(sys)然后再执行 setdefaultencoding('utf8')
此时将系统默认编码设置为utf8。
④ sys.path:获取模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。sys.path.append("自定义模块路径"),可以自己添加某个路径。
sys.platform:获取当前的系统平台
⑤ sys.stdin,sys.stdout,sys.stderr:(std为standard的缩写意思为标准输入、标准输出、错误输出)stdin , stdout , 以及stderr 变量包含与标准I/O 流对应的流对象. 如果需要更好地控制输出,而print 不能满足你的要求, 它们就是你所需
要的. 你也可以替换它们, 这时候你就可以重定向输出和输入到其它设备( device ), 或者以非标准的方式处理它们。
  (1)注意:使用stdout 以及stdin时,需要导入from sys import stdout  ,from sys import stdinstdout相当于print,
    有一点区别就是sys.stdout.write('')这个默认是没有换行的 需要自己添加sys.stdout.write(' '+'\n')这个语句就类似于print ‘’输出语句。在python3.5里面默认是print后面加输出换行,试过在输出后面加逗号,
但是python3.5还是自动换行,也试过在python3.5 内置函数中修改内建函数print的参数值值,但是没效果,直接使用这种标准输出就可以直接将所要显示的东西放到一行,比较简单。sys.stdin.readline()每次读入一行
sys.stdout.buffer.write 意为往标准输出的缓冲区中写东西.
  (2)sys.stdout.flush()的用法:
    python的stdout是有缓冲区的,例如:
import sys
import time for i in range(5):
print(i, end=' ')
sys.stdout.flush()
time.sleep(1)

    程序本意是每隔一秒输出一个数字,但是如果把这句话sys.stdout.flush()注释的话,你就只能等到程序执行完毕,屏幕上会一次性输出0,1,2,3,4。如果你加上sys.stdout.flush(),刷新stdout,这样就能每                隔一秒输出一个数字了。可以用在网络程序中多线程程序,多个线程后台运行,同时要能在屏幕上实时看到输出信息。

  

												

Python 内置库 sys用法的更多相关文章

  1. Python内置函数reversed()用法分析

    Python内置函数reversed()用法分析 这篇文章主要介绍了Python内置函数reversed()用法,结合实例形式分析了reversed()函数的功能及针对序列元素相关操作技巧与使用注意事 ...

  2. Python内置OS模块用法详解

    大家好,从今天起早起Python将持续更新由小甜同学从初学者的角度学习Python的笔记,其特点就是全文大多由新手易理解的代码与注释及动态演示.刚入门的读者千万不要错过! 很多人学习python,不知 ...

  3. 使用python内置库pytesseract实现图片验证码的识别

    环境准备: 1.安装Tesseract模块 git文档地址:https://digi.bib.uni-mannheim.de/tesseract/ 下载后就是一个exe安装包,直接右击安装即可,安装完 ...

  4. 使用python内置库matplotlib,实现折线图的绘制

    环境准备: 需要安装matplotlib,安装方式: pip install matplotlib 直接贴代码喽: #引入模块 from matplotlib import pyplot,font_m ...

  5. python内置函数getattr用法

    class Tests(object):    #定义类     aaa = '10'          #定义变量       def test(self):     #定义类的方法test     ...

  6. 【Python】Python内置函数dir详解

    1.命令介绍 最近学习并使用了一个python的内置函数dir,首先help一下: 复制代码代码如下: >>> help(dir)Help on built-in function ...

  7. 常用的python的内置库或者第三方库

    内置库:re,json,time,random,sys,os, 第三方库:转载: https://www.cnblogs.com/jiangchunsheng/p/9275881.htmlReques ...

  8. Python内置函数进制转换的用法

    使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x)Convert an integer numb ...

  9. Python 内置函数sorted()在高级用法

    对于Python内置函数sorted(),先拿来跟list(列表)中的成员函数list.sort()进行下对比.在本质上,list的排序和内建函数sorted的排序是差不多的,连参数都基本上是一样的. ...

随机推荐

  1. forfiles删除过期文件robocopy

    forfiles /p "F:\SDSC16B" /s /m *.bak /d -20 /c "cmd /c del @FILE" /p:指定目录 /s:递归搜 ...

  2. Web GIS离线地图

    参考资料: http://www.cnblogs.com/luxiaoxun/p/5022333.html https://www.cnblogs.com/luxiaoxun/p/4454880.ht ...

  3. Ubuntu 无法进行SSH连接,开启22端口

    我们在VM中安装好Ubuntu 虚拟机后,经常需要使用Xshell等工具进行远程连接,但是会出现无法连接的问题,原因是Ubuntu中默认关闭了SSH 服务. 1. 查看Ubuntu虚拟机IP地址: 命 ...

  4. LeetCode算法题-Valid Palindrome(Java实现)

    这是悦乐书的第174次更新,第176篇原创 01 看题和准备 今天介绍的是LeetCode算法题中Easy级别的第33题(顺位题号是125).给定一个字符串,确定它是否是回文,只考虑字母数字字符并忽略 ...

  5. puppet使用 apache passsenger 作为前端 (debian)

    目录 1. 概要 2. nginx + passenger 配置 2.1. package 安装 2.2. 配置文件设置 2.3. 测试配置结果 2.4. 参考网址 概要 之前做过 apache + ...

  6. Web和移动开发的未来

    Web和移动开发的未来 当我们与来自整个IT行业的专家交谈时,他们告诉我们技术,PWA和优化的持续整合是关键. 为了收集有关网络和移动开发当前和未来状况的见解,我们与19位IT主管进行了交流,我们问道 ...

  7. Linux发展史-简简简易版

    "蛋-人-人-人" unix诞生 unix 贝尔实验室 人-谭教授 谭宁邦 minix mini unix 主要用于教学 人-斯托曼 stallman 我要开发出一个系统:自由 开 ...

  8. 15.selenium_case01

    # 与百度首页交互 from selenium import webdriver from selenium.webdriver.support.wait import WebDriverWait f ...

  9. vue 数据绑定实现的核心 Object.defineProperty()

    vue深入响应式原理 现在是时候深入一下了!Vue 最独特的特性之一,是其非侵入性的响应式系统.数据模型仅仅是普通的 JavaScript 对象.而当你修改它们时,视图会进行更新.这使得状态管理非常简 ...

  10. C# List去重的三种方法(转)

    三种去重的方法 1.List中的元素实现IEquatabe接口,并提供Equals方法和GetHashCode方法. 2.使用表达式 users.Where((x,i)=>users.FindI ...