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



② sys.exit([arg]): 程序中间的退出,arg=0为正常退出。③ sys.getdefaultencoding(): 获取系统当前编码,一般默认为asciisys.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用法的更多相关文章
- Python内置函数reversed()用法分析
Python内置函数reversed()用法分析 这篇文章主要介绍了Python内置函数reversed()用法,结合实例形式分析了reversed()函数的功能及针对序列元素相关操作技巧与使用注意事 ...
- Python内置OS模块用法详解
大家好,从今天起早起Python将持续更新由小甜同学从初学者的角度学习Python的笔记,其特点就是全文大多由新手易理解的代码与注释及动态演示.刚入门的读者千万不要错过! 很多人学习python,不知 ...
- 使用python内置库pytesseract实现图片验证码的识别
环境准备: 1.安装Tesseract模块 git文档地址:https://digi.bib.uni-mannheim.de/tesseract/ 下载后就是一个exe安装包,直接右击安装即可,安装完 ...
- 使用python内置库matplotlib,实现折线图的绘制
环境准备: 需要安装matplotlib,安装方式: pip install matplotlib 直接贴代码喽: #引入模块 from matplotlib import pyplot,font_m ...
- python内置函数getattr用法
class Tests(object): #定义类 aaa = '10' #定义变量 def test(self): #定义类的方法test ...
- 【Python】Python内置函数dir详解
1.命令介绍 最近学习并使用了一个python的内置函数dir,首先help一下: 复制代码代码如下: >>> help(dir)Help on built-in function ...
- 常用的python的内置库或者第三方库
内置库:re,json,time,random,sys,os, 第三方库:转载: https://www.cnblogs.com/jiangchunsheng/p/9275881.htmlReques ...
- Python内置函数进制转换的用法
使用Python内置函数:bin().oct().int().hex()可实现进制转换. 先看Python官方文档中对这几个内置函数的描述: bin(x)Convert an integer numb ...
- Python 内置函数sorted()在高级用法
对于Python内置函数sorted(),先拿来跟list(列表)中的成员函数list.sort()进行下对比.在本质上,list的排序和内建函数sorted的排序是差不多的,连参数都基本上是一样的. ...
随机推荐
- JS实现定时器
导出:jquery.timers-1.2.js jQuery Timers提供了三个函式 1. everyTime(时间间隔, [定时器名称], 函式名称, [次数限制], [等待函式程序完成])2. ...
- Zabbix WMI监控
检查Windows OS是否激活,5表示处于通知模式,1表示已激活 wmi.get[root\cimv2,select LicenseStatus FROM SoftwareLicensingProd ...
- Zabbix监控文件是否存在/文件大小
检查C:\Zabbix\zabbix_agentd.log文件是否存在 zabbix_get -s 10.16.4.1 -k vfs.file.exists[C:\\Zabbix\\zabbix_ag ...
- JaveScript 中使用 XSLT转换XML文档
我们经常将数据存储在XML 中,在展示的时候需要转换为其它的形式,这里介绍使用XSLT 对XML数据进行转换. 要学习XSLT对XML的转换,需要先了解三个文件. 第一个是存储数据的XML文件:emp ...
- 排序算法之直接插入排序的思想以及Java实现
1,基本思想 假设待排序的数据是数组A[1-.n].初始时,A[1]自成1个有序区,无序区为A[2-.n].在排序的过程中,依次将A[i] (i=2,3,-.,n)从后往前插入到前面已排好序的子数组A ...
- GitHub-分支管理01
参考博文:廖雪峰Git教程 1. 分支说明 分支在实际中有什么用呢?假设你准备开发一个新功能,但是需要两周才能完成,第一周你写了50%的代码,如果立刻提交,由于代码还没写完,不完整的代码库会导致别人不 ...
- February 11th, 2018 Week 7th Sunday
Grasp all, lose all. 欲尽得,必尽失. Not to be greedy and not to try to get everything. Our time, energy an ...
- 《Java大学教程》—第23章 Java网络编程
本章主要关注的是Java的几个应用网络编程的场景,对于网络编程没有太多深入介绍,而Java本来也没有多少针对网络编程的特性.虽然Java有个Applet的概念,但是真用这个的开发的场景其实不多. 23 ...
- 不同主机的docker容器互相通信
Docker启动时,会在宿主主机上创建一个名为docker0的虚拟网络接口,默认选择172.17.0.1/16,一个16位的子网掩码给容器提供了 65534个IP地址. docker0只是一个在绑定到 ...
- nuxt框架Universal和Spa两种render mode的区别
如下图,官网上对于Universal 和 Spa 两种render mode的区别,并没有加以说明,相信大多数人跟我一样有点懵,不知道选什么好.虽然两个模式创建的项目看不出区别. 先给出推荐选项: U ...