python中的sys模块

sys中的常用方法

  1. 首先第一个功能是modules,它并不是一个函数。而是一个属性,后面不用加括弧。通过调用它会返回一个列表。它会将Python启动时候所加载的模块全部集合起来。一会儿让我们来看看它们长什么样子。
  2. 第二个功能是path它依然是一个属性,通过system调用path属性。可以返回当前Python的环境路径。不过这里说的环境路径可不是我们当前Python脚本执行的路径。我们可以认为是当前Python脚本可以导入的所有内置或第三方包与函数所在的路径。
  3. 第三个是exit,它是一个函数。如果通过system调用exit.会直接退出程序,比如我们要执行10行代码。如果我们在第二行插入一句system.exit()执行。程序将会在这里终止。它有一个参数默认值是0,这个值只是一个状态。在我们脚本中执行的时候会返回一个关闭的状态,而如果是Python解释器的调试环境。会直接抛出异常,这个值是一个整形。
  4. 第四个是getdefaultencoding,它是一个函数,不过它是获取当前系统级别的编码格式。它会返回一个字符串。比如是utf-8还是其他的编码格式。
  5. 第五个platform,它是一个属性。不过没有任何参数。它会返回一个字符串。内容是当前操作系统的平台。比如你的电脑是windows.或者是mac os.亦或是Linux系统。通过platform函数就可以知道。
  6. 第六个version.它是一个属性。可以返回当前使用的Python版本。返回值是一个字符串。
  7. 最后一个argv可有点意思了,它可以获取程序,外部的参数,返回值是一个列表。它可是一个很常用的功能。
    • sys.argv 是 Python 标准库中 sys 模块的一个属性,它是一个字符串列表,包含了命令行参数传递给 Python 脚本的参数值。

    • 当通过命令行运行 Python 脚本时,可以在命令行中传递参数,并通过 sys.argv 在脚本中获取这些参数。列表中的第一个元素是脚本文件的名称,后续的元素是传递给脚本的参数。

  • 以下是一个示例,演示了如何使用 sys.argv 获取命令行参数:
import sys

# 获取脚本文件名
script_name = sys.argv[0]
print("Script name:", script_name)

# 获取传递给脚本的参数值
arguments = sys.argv[1:]
print("Arguments:", arguments)
  • 在上述示例中,sys.argv[0] 获取到的是脚本文件的名称(完整路径或相对路径)。sys.argv[1:] 获取到的是传递给脚本的参数值,如果没有传递参数,则该列表为空。

  • 假设脚本文件名为 script.py,通过以下命令行运行脚本并传递参数:

python script.py arg1 arg2 arg3
  • 输出将会是:
Script name: script.py
Arguments: ['arg1', 'arg2', 'arg3']
  • 注意,命令行参数都被视为字符串形式,无论输入的是数字还是其他类型的值。如果需要将参数转换为其他类型,可以使用相应的类型转换函数(例如 int()float() 等)进行处理。

  • 需要注意的是,sys.argv 只能获取到命令行参数,对于其他环境变量或配置选项,可能需要使用其他模块或方法来获取。

python中的sys模块_第1张图片
python中的sys模块_第2张图片

实战

# coding:utf-8  
# @Author:Dx  
# @Time:2023/5/28  
# @File:package_sys.py  
  
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':  
platform = sys.platform  
print(platform)  
  
elif command == 'version':  
print(sys.version)  
  
else:  
print('not command')
  • 在命令行中执行脚本
(venv) D:\My_Files\Python Project\pythonlean\python_package>python package_sys.py version
3.8.5 (tags/v3.8.5:580fbb0, Jul 20 2020, 15:57:54) [MSC v.1924 64 bit (AMD64)]

(venv) D:\My_Files\Python Project\pythonlean\python_package>python package_sys.py platform
win32

你可能感兴趣的:(python全栈,python,开发语言)