温馨提示×

温馨提示×

您好,登录后才能下订单哦!

密码登录×
登录注册×
其他方式登录
点击 登录注册 即表示同意《亿速云用户服务条款》

python技巧之:sys模块常用方法详解

发布时间:2020-07-18 07:09:09 来源:网络 阅读:448 作者:nineteens 栏目:编程语言

  一、sys的用处和场景

  sys是system的缩写,用来获取操作系统和编译器的一些配置,设置及操作

  以下几个方法在工作面试都几乎是必问的,很多人知其然不知所以然

  现在深入浅出的实践并学习下这个工作中必用模块的一些方法

  1、sys.argv():

  sys.argv就是一个从程序外部获取参数的桥梁,这个“外部”很关键, 因为我们从外部取得的参数可以是多个

  sys.argv其实可以看作是一个列表,所以才能用[]下标的方式提取其中的元素。 其第一个元素是程序本身,随后才依次是外部给予的参数

  现在来通过实践来了解该方法

  (1)创建一个.py文件,写入对应脚本

  

python技巧之:sys模块常用方法详解


  (2)打开cmd,拖入.py文件,进行外部传参操作

  sys.argv[0]下标为0的第一参数返回的是程序本身路径,后边才是外部给予的参数

  2、sys.path工作中必用的方法

  简介:sys.path是对 Python 解释器的系统环境参数的操作,动态的改变 Python 解释器搜索路径(划重点)

  sys.path会返回一个路径列表,sys.path[0]表示的是当前脚本运行目录

  牢记知识点:python的两种加载py文件方式,sys.path[0]产生的值会有差异,注意返回列表的第一个值,在工作中注意脚本运行环境,这是个坑

  方式一:直接运行代码

  

python技巧之:sys模块常用方法详解


  方式二:作为模块脚本来运行

  

python技巧之:sys模块常用方法详解


  牢记知识点:在工作中,我们导入模块程序会在当前目录下去搜寻我们想要的模块,但我们时常要import导入引用第三方模块,sys.path可以自定义模块路径直接调用外部py文件,以便调用

  假设一个第三方demo.py文件临时存放在E盘,它的功能就是打印输出 helloworld

  sys.path.append("文件路径") 直接指向搜寻路径

  直接导入 xxx.py 即可

  3 、sys.stdin、sys.stdout、sys.stderr

  概念:这三个方法都是文件属性,对应的方法可以读、写、创建文件及编码操作

  如果需要更好的控制输出,而print不能满足需求,sys.stdout,sys.stdin,sys.stderr就是你需要的

  概念:1、Python程序的标准输入/输出/出错流 定义在sys模块中

  2、python启动时自动与Shell环境中的标准输入,输出,出错 关联

  sys.stdin:所有交互式输入,类似input的方法

  

python技巧之:sys模块常用方法详解


  

python技巧之:sys模块常用方法详解


  sys.stdin.readline 和input的区别

  可以看到sys.stdin.readline()获取全部的标准输入包括换行符,在使用该方法时使用strip方法去掉换行符

  name = sys.stdin.readline().strip('\n')

  牢记知识点:sys.stdin.readline()的优势

  看上去sys.stdin.readline() 还不如input() 好用,它有一个input没有的优势,该方法可以直接限制输出的字节长度,输出的字节长度不会超过给定参数,这是在开发中较为常用的功能之一。无锡做人流多少钱 http://www.ytsg029.com/

  

python技巧之:sys模块常用方法详解


  sys.stdout:标准输出流

  牢记知识点:sys.stdout:print(obj)其实就是调用sys.stdout.write(obj+’\n’),但sys.stdout涉及到一个重定向的功能

  print把字符打印在屏幕上是通过sys.stdout的默认输出流,sys.stdout默认映射到打开脚本的窗口,我们可以通过修改sys.stdout的映射关系来改变print的输出位置,方法如下:

  后续所有的print输入都会写入到 test.txt内,我们同时想要恢复怎么办,方法如下:

  sys.stderr:返回错误的信息,python 程序内报错信息都基于该方法如图红色报错

  

python技巧之:sys模块常用方法详解


  牢记知识点:该方法与sys.stdout一样都可以重定向映射写入其他文件

  

python技巧之:sys模块常用方法详解


  

python技巧之:sys模块常用方法详解


  4、sys.exit():

  废话不多说,来看python 源文档

  源文档暴露3个重要基础知识:

  1、sys.exit()有自己的退出码,参数为空默认为0

  2、参数可以为任何类型,并且仅仅会抛出SystemExit异常

  3、参数非0就抛出异常,该异常通常由try / finally 来清除操作

  (1)在代码内添加sys.exit()代码

  (2)cmd从外部执行该脚步并传参,会发现不再接受第二个参数


向AI问一下细节

免责声明:本站发布的内容(图片、视频和文字)以原创、转载和分享为主,文章观点不代表本网站立场,如果涉及侵权请联系站长邮箱:is@yisu.com进行举报,并提供相关证据,一经查实,将立刻删除涉嫌侵权内容。

AI