iis服务器助手广告广告
返回顶部
首页 > 资讯 > 后端开发 > Python >Python学习之sys模块使用教程详解
  • 861
分享到

Python学习之sys模块使用教程详解

2024-04-02 19:04:59 861人浏览 独家记忆

Python 官方文档:入门教程 => 点击学习

摘要

sys模块 与 os包一样,也是对系统资源进行调用。功能同样也是非常丰富,接下来我们会对 sys模块的一些简单且常用的函数进行介绍,主要针对一些非功能性的函数与属性来认识一些不太常见

sys模块 与 os包一样,也是对系统资源进行调用。功能同样也是非常丰富,接下来我们会对 sys模块的一些简单且常用的函数进行介绍,主要针对一些非功能性的函数与属性来认识一些不太常见的 python 背后的事件。

sys 中的常用方法

函数名参数介绍举例返回值
modules(属性)Python启动时加载的模块集合起来并返回一个列表sys.modules列表
path(属性)返回当前Py的环境路径(当前py环境可以导入内置、第三方包与函数的所在路径)sys.path列表
exit(函数)arg退出程序(执行十行代码,若在第二行插入sys.exit,则后面的代码不会执行)sys.exit(0)
getdefaultencoding获取当前系统级别的编码格式(比如 utf-8)sys.getdefaultencoding()字符串
platfORM(函数)获取当前系统平台(如windowsMaclinux)sys.platform()字符串
version(属性)获取当前 Python 的版本sys.version字符串
argv(属性)*args获取程序外部的参数,返回值是一个列表,实际开发中很常用的一个功能sys.argv列表

示例如下:

import sys


modules = sys.modules       # 将 sys 模块的 modules 属性 赋值给 modules 并打印输出 Python启动时加载的模块集合
print(modules)

# sys.exit(0)               # 取消注释该行代码,下方所有的代码将不再执行

path = sys.path
print(path)                 # 将 sys 模块的 path 属性 赋值给 path 并打印输出 python 环境可以导入内置、第三方包与函数的所在路径

code = sys.getdefaultencoding()     # 将 sys 模块 的 getdefaultencoding()函数 赋值给 code 并打印输出当前系统的编码[utf-8]
print(code)

# >>> 执行结果如下:
# >>> utf-8

print(sys.platform)         # 获取当前系统平台(如windows、Mac、linux)

# >>> 执行结果如下:
# >>> darwin

print(sys.version)          # 获取当前 Python 的版本

# >>> 执行结果如下:
# >>> 3.8.7 (v3.8.7:6503f05dd5, Dec 21 2020, 12:45:15) 
# >>> [Clang 6.0 (clang-600.0.57)]

接下来的 sys.argv 可要好好说一说了。上文我们提到 argv 是获取程序外部的参数,返回值是一个列表。

说实话我一直在 python 解释器、idea 运行,试图从结果发现它的用途,然而结果一直都是没结果,也在网上查了许多资料,大部分都是转裁和复制的。给的都是简明python教程上那个一长串代码的例子,说看了就明白了,可我看得晕头转向的还是没真正明白,只知道 sys.argv[0] 表示当前脚本本身文件路径的该脚本文件。后来经过大量努力,多方求教才真正明悟了,谨以记录和分享,希望能从另一个角度给同在求索过程中的同学一点启发。

sys.argv 其实就是一个从程序外部获取参数 的桥梁,这里所说的 外部 很关键,所以那些试图从代码来说明它作用的解释一直没看明白。因为我们需要先在终端执行脚本, 并从外部传入参数(可以是多个),所以获得的是一个列表(list),也就是说sys.argv其实可以看作是一个列表,所以才能用[ ]提取其中的元素。其第一个元素是程序本身,随后才依次是外部传入的参数。

我们先来看一下 sys.argv 返回的是什么?

import sys


print(sys.argv)

# >>> 执行结果如下:
# >>> ['/Users/username/PyCharmProjects/XXXXX/XXXXX/animal/package_sys.py']
# >>> 从执行结果可以看出 其输出的就是当前路径下的当前脚本本身,也就可以理解为 'sys.argv' 其实就是运行自身的脚本文件 
# >>> 我们从 '外部' 运行该脚本文件的时候,需要传入参数(可以是多个)

接下来我们将上面的代码改为如下:

import sys


print(sys.argv[0], sys.argv[1])

# >>> 接下来我们进入 Terminal 终端 利用 python 执行 该脚本文件,并传入 测试参数,结果如下图。

为了更好的 演示 sys.argv 属性,我们将上文演示的 sys 常用的函数与属性进行一下修改。示例如下:

import sys

command = sys.argv[1]
if command == 'modules':
    modules = sys.modules
    print(modules)
elif command == 'path':
    path = sys.path
    print(path)
elif command == 'encoding':
    code = sys.getdefaultencoding()
    print(code)
elif command == 'platform':
    print(sys.platform)
elif command == 'version':
    print(sys.version)
else:
    print('该命令未识别')

然后在 Terminal 终端 执行该脚本,如下图:

到此这篇关于Python学习之sys模块使用教程详解的文章就介绍到这了,更多相关Python sys模块内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

--结束END--

本文标题: Python学习之sys模块使用教程详解

本文链接: https://www.lsjlt.com/news/143348.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Python学习之sys模块使用教程详解
    sys模块 与 os包一样,也是对系统资源进行调用。功能同样也是非常丰富,接下来我们会对 sys模块的一些简单且常用的函数进行介绍,主要针对一些非功能性的函数与属性来认识一些不太常见...
    99+
    2022-11-13
  • python标准库学习之sys模块详解
    目录前言处理命令行参数sys.exit(n) 退出程序,正常退出时exit(0)sys.version 获取Python解释程序的版本信息sys.platform 返回操作系统平台名...
    99+
    2022-11-11
  • python之sys模块详解
    前言 sys模块是与python解释器交互的一个接口。sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分。 处理命令行参数 在解释器启动后, argv 列表包含了传递给脚本的所...
    99+
    2023-09-15
    python 开发语言 pycharm
  • Python学习之加密模块使用详解
    目录hashlib 模块hashlib 模块的介绍hashlib 模块中的常用加密方法hashlib模块情景练习base64 模块base64 模块的介绍base64 模块 模块中的...
    99+
    2022-11-13
  • Python学习之configparser模块的使用详解
    目录1 configparser安装2 configparser简介3 表示方法4 configparser详细使用4.1 对象初始化4.2 获取所有的sections4.3 获取所...
    99+
    2023-01-28
    Python configparser模块使用 Python configparser模块 Python configparser
  • Python学习之日志模块详解
    目录日志的作用日志的等级logging 模块的使用logging 模块演示小案例OK,今天我们来学习一下 python 中的日志模块,日志模块也是我们日后的开发工作中使用率很高的模块...
    99+
    2022-11-13
  • Python学习之包与模块详解
    目录什么是 Python 的包与模块包的身份证如何创建包创建包的小练习包的导入 - import模块的导入 - from…import导入子包及子包函数的调用导入主包及...
    99+
    2022-11-13
  • Python学习之随机模块random详解
    目录random.random()random.uniform()random.randint()random.choice()random.sample()random.randr...
    99+
    2022-11-13
  • Python学习之os包使用教程详解
    目录os 模块文件与目录函数介绍path 模块​path 模块常用方法今天我们来学习一下 python 的内置包 —> OS 包。OS 包拥有着普遍的操作系统功能,...
    99+
    2022-11-13
  • Python学习教程:Python argparse模块
    这篇Python学习教程主要是对 argparse(Python标准库中推荐的命令行解析模块) 进行简要介绍。note 还有两个其他模块也可以完成相同的任务,分别是 getopt(与C语言中的 getopt() 等效)和已经过时的 optp...
    99+
    2023-06-02
  • Django模块学习之模块语言详解
    目录前言1、变量2、注释3、过滤器4、标签:include5、标签:for6、标签:if总结前言 Django模块引擎支持Django模块语言(简称DTL)。DTL包含变量、注释、过...
    99+
    2022-11-12
  • python中os模块和sys模块的使用详解
    目录一、os模块二、os模块中的os.walk()函数三、sys模块一、os模块 os.getcwd() 获取当前的工作目录 os.chdir(‘绝对路径/相对于当前工作...
    99+
    2023-03-21
    python os模块 python sys模块
  • 学习Nodejs之fs模块的使用详解
    目录Nodejs 中的 fs 模块的使用1、fs.stat 检测是文件还是目录2、fs.mkdir 创建目录3、fs.writeFile 创建写入文件4、fs.appendFile ...
    99+
    2022-11-13
  • Python学习之时间包使用教程详解
    目录datetime 时间包datetime 时间包的常用功能时间对象转字符串时间字符串转时间类型时间格式符time模块认识时间戳time 模块的常用方法datetime 中生成时间...
    99+
    2022-11-13
  • Python学习之模块化程序设计示例详解
    目录关于模块化程序设计水果仓库功能简介主功能实现与程序入口实现添加功能实现列出所有信息功能实现查询信息功能实现删除信息功能完整程序如下关于模块化程序设计 什么是模块化程序设计? 程序...
    99+
    2022-11-13
  • Python学习之迭代器的使用教程详解
    目录Python 迭代器迭代器 VS 可迭代对象(Iterable)遍历迭代器创建迭代器StopIterationPython 迭代器 迭代器是一种对象,该对象包含值的可计数数字。 ...
    99+
    2023-03-06
    Python迭代器使用 Python迭代器
  • Node.js学习之地址解析模块URL的使用详解
    前言 本文主要给大家介绍了关于Node.js地址解析模块URL使用的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧。 url结构化/模块化/路径解析 结构化:url.pars...
    99+
    2022-06-04
    详解 模块 地址
  • Python学习教程(Python学习视频_Python学习路线):Day06 函数和模块的使用
    Python学习教程(Python学习视频_Python学习路线):函数和模块的使用在讲解本章节的内容之前,我们先来研究一道数学题,请说出下面的方程有多少组正整数解。事实上,上面的问题等同于将8个苹果分成四组每组至少一个苹果有多少种方案。想...
    99+
    2023-06-02
  • Python中shutil模块的学习笔记教程
    介绍 shutil 名字来源于 shell utilities,有学习或了解过Linux的人应该都对 shell 不陌生,可以借此来记忆模块的名称。该模块拥有许多文件(夹)操作的功能,包括复制、移动、重命名...
    99+
    2022-06-04
    学习笔记 模块 教程
  • Qt学习之容器类的使用教程详解
    目录一. QList类,QLinkedList类 和 QVector类(1)QList类(2) QLinkedList 类(3) QVector 类二. QMap类和QHash类1 ...
    99+
    2022-12-08
    Qt容器类使用 Qt容器类
软考高级职称资格查询
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作