在python程序中导入sys模块,python中sys
Sys模块和os包一样,调用系统资源。功能也很丰富。本文将介绍sys模块的一些简单常用的功能,有兴趣的可以了解一下。
Sys模块和os包一样,调用系统资源。功能也很丰富。接下来介绍sys模块的一些简单常用的函数,主要是针对一些非功能性的函数和属性来了解Python背后的一些异常事件。
sys中的常用方法
函数参数介绍返回值模块(属性)示例python启动时加载的模块都不收集,返回一个列表。sys.modules list path (attribute)无返回当前Py的环境路径(当前Py环境可以导入内置、第三方包和函数的路径)sys.path list exit (function) arg退出程序(执行十行代码,如果第二行插入sys.exit, 不会执行下面的代码)sys . exit(0)No getdefaultencoding No获取当前系统级别的编码格式(如utf-8)sys.getdefaultencoding()字符串平台(函数)No获取当前系统平台(如windows、Mac、linux)sys.platform()字符串版本(属性)不获取当前Python版本sys.version字符串argv(属性)*args获取程序外的参数,返回值为列表。 实际开发中常用的函数sys.argv列表示例如下:
导入系统
Modules=sys.Modules #将sys模块的modules属性赋给modules,并打印出Python启动时加载的模块集。
打印(模块)
# sys.exit(0) #取消对这行代码的注释,下面的所有代码都将不再执行。
path=sys.path
Print(path) #将sys模块的path属性赋给path,打印出python环境可以导入内置、第三方包和函数的路径。
Code=sys.getdefaultencoding() #分配sys模块的getdefaultencoding()函数进行编码,并打印出当前系统的代码[utf-8]
打印(代码)
#执行结果如下:
# utf-8
Print(sys.platform) #获取当前系统平台(如windows、Mac、linux)
#执行结果如下:
#达尔文
Print(sys.version) #获取Python的当前版本
#执行结果如下:
# 3 . 8 . 7(3 . 8 .6503 f 05 DD 5,2020年1 2月21日,12:45336015)
#[铿锵6.0(铿锵-600.0.57)]
接下来的sys.argv是一个很好的话题。我们上面提到argv是采集程序之外的参数,返回值是一个列表。
说实话,我一直在python解释器和idea中运行,试图从结果中找到它的用处,但结果一直无果。我也在网上查了很多资料,大部分都是转让复制的。它们都是简明python教程中一长串代码的例子。看完了会懂,但还是没有真正懂。我只知道sys.argv[0]代表的是当前脚本本身的脚本文件。后来经过很多努力,从很多方面了解到。我想记录下来分享一下,希望能从另一个角度启发同学们在求教的过程中。
Sys.argv实际上是从程序外部获取参数的桥梁。这里说的外部是很关键的,所以那些试图从代码上解释它的功能的解释,一直没搞懂。因为我们需要先在终端执行脚本,从外部传入参数(可以是多个),得到一个list(列表),也就是说sys.argv实际上可以看作一个list,所以我们可以用[]从中提取元素。第一个元素是程序本身,接下来是外部传递的参数。
我们先来看看sys.argv返回什么。
导入系统
打印(sys.argv)
#执行结果如下:
#[/Users/username/PycharmProjects/XXXXX/XXXXX/animal/package _ sys . py ]
#从执行结果可以看出,它的输出是当前路径下的当前脚本本身,也就是说‘sys . argv’实际上是在运行自己的脚本文件。
#当我们从“外部”运行这个脚本文件时,我们需要传入参数(可以有多个参数)
接下来,我们将上面的代码更改为以下代码:
导入系统
print(sys.argv[0],sys.argv[1])
#接下来我们进入终端Terminal用python执行脚本文件,传入测试参数。结果如下所示。
为了更好地演示sys.argv的属性,我们修改了上面演示的sys中常用的函数和属性。例子如下:
导入系统
command=sys.argv[1]
if命令==模块 :
模块=sys.modules
打印(模块)
elif命令==路径 :
path=sys.path
打印(路径)
elif命令==编码 :
code=sys.getdefaultencoding()
打印(代码)
elif命令==平台 :
打印(系统平台)
elif命令==版本 :
打印(系统版本)
else:
打印(“此命令无法识别”)
然后在终端终端执行脚本,如下图所示:
关于Python学习的sys模块的详细讲解,本文到此为止。有关Python sys模块的更多信息,请搜索流行的IT软件开发工作室以前的文章,或者继续浏览下面的相关文章。希望大家以后能支持盛行的IT软件开发工作室!
郑重声明:本文由网友发布,不代表盛行IT的观点,版权归原作者所有,仅为传播更多信息之目的,如有侵权请联系,我们将第一时间修改或删除,多谢。