前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >标准库举例:sys、copy

标准库举例:sys、copy

作者头像
博文视点Broadview
发布2020-06-11 15:41:37
2510
发布2020-06-11 15:41:37
举报

小编说:Python标准库内容非常多,有人专门为此写过一本书。本文将选择几个呈现出来,一来显示标准库之强大功能,二来演示如何理解和使用标准库。sys是常用的标准库,已经不陌生了;copy也是已经用过的标准库。先从熟悉的入手,容易理解,这也是“杀熟”。

  • sys

这是一个跟Python解释器关系密切的标准库,前面已经使用过:sys.path.append()。

显示了sys的基本文档,第一句话概括了本模块的基本特点。

在诸多sys函数和属性中,下面选择常用的来说明。

1.sys.argv

sys.argv是专门用来向Python解释器传递参数的,所以称为“命令行参数”。

先解释什么是命令行参数。

这里的--version就是命令行参数。如果使用python –help,则可以看到更多:

这里只显示了部分内容,所看到的如-B、-h都是参数,比如python -h,其功能同上。所以,-h也是命令行参数。

sys.arg的作用就是通过它向解释器传递命令行参数。比如:

将上述代码保存,文件名是22101.py。然后如此操作:

将结果和前面的代码做个对比。

  • —在$ python sys_file.py中,“sys_file.py”是要运行的文件名,同时也是命令行参数,是前面的python这个指令的参数,其地位与python -h中的参数-h是等同的。
  • — sys.argv[0]是第一个参数,就是上面提到的sys_file.py,即文件名。

如果这样来试试:

在这里用sys.argv [1]得到的就是beginner,依次类推。

2.sys.exit()

这个方法的作用是退出当前程序。

从文档信息中可知,如果用sys.exit()退出程序,就会返回SystemExit异常。这里先告知读者,还有另外一种退出方式,即os._exit(),这两者有所区别。

这段程序的运行结果如下:

在大多数函数中会用到return,其含义是终止当前的函数,并向调用函数的位置返回相应值(如果没有就返回None)。但是sys.exit()的含义是退出当前程序(不仅仅是退出当前函数),并发起SystemExit异常。这就是两者的区别。

如果使用sys.exit(0)表示正常退出,则需要在退出的时候有一个对人友好的提示,可以用sys.exit("I wet out at here."),那么字符串信息就会被打印出来。

3.sys.path

sys.path已经不陌生了,它可以查找模块所在的目录,以列表的形式显示出来。如果用append()方法,就能够向这个列表增加新的模块目录,如前所演示,不再赘述。

  • copy

前面对浅拷贝和深拷贝做了研究,这里再次提出,温故而知新。

这个模块中常用的就是copy和deepcopy。

为了具体说明,看这样一个例子,这个例子跟以前讨论浅拷贝和深拷贝时略有不同,请读者认真推敲结果,并对照代码。

一切尽在不言中,请读者认真对照上面的显示结果,体会深拷贝和浅拷贝的实现方法和含义。

本文选自《跟老齐学Python:轻松入门》

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2017-04-05,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 博文视点Broadview 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
目录
  • 3.sys.path
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档