12.7. sys系统操作模块

sys.path              #打印程序运行的的路径列表
sys.argv              # 取参数列表
sys.exit(2)           # 退出脚本返回状态 会被try截取
sys.exc_info()        # 获取当前正在处理的异常类
sys.version           # 获取Python解释程序的版本信息
sys.maxint            # 最大的Int值  9223372036854775807
sys.maxunicode        # 最大的Unicode值
sys.modules           # 返回系统导入的模块字段,key是模块名,value是模块
sys.path              # 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
sys.path.append       #添加相关的路径,但在退出python环境后自己添加的路径就会自动消失!
os.path.getatime("d:\\new")  #最后访问时间
os.path.isabs("d:\\")  #是否是绝对路径
sys.platform          # 返回操作系统平台名称
sys.stdout            # 标准输出
sys.stdin             # 标准输入
sys.stderr            # 错误输出
sys.exec_prefix       # 返回平台独立的python文件安装的位置
sys.stdin.readline()  # 从标准输入读一行
sys.stdout.write("a") # 屏幕输出a
sys.path.insert(1, os.path.join(sys.path[0], '/opt/script/'))     # 将/opt/script/目录加入环境变量,可导入相应模块

12.7.1. 模块查找

#模块的查找路径在Python中可以通过sys模块来进行操纵(查看、增加和删除),代码如下:
import sys                   #导入sys模块
print(sys.path)             #输出当前模块查找路径(列表形式)
sys.path.append(Apath)      #添加Apath为模块查找路径

12.7.2. 举例1

#!/usr/bin/env python
# -*- coding:utf8 -*-
# auther; 18793
# Date:2019/9/15 17:52
# filename: example01.py
import sys

# 显示本地字节序的指示符
print(sys.byteorder)

# 显示与Python解释器有关的版权信息
print(sys.copyright)

# 显示Python解释器在磁盘上的存储路径
print(sys.executable)  # C:\Users\18793\Anaconda3\python.exe

# 显示在当前系统中保存文件所用的字符集
print(sys.getfilesystemencoding())  # mbcs
# 显示python整数支持的最大值
print(sys.maxsize)  # 9223372036854775807

# 显示python解释器所在的平台
print(sys.platform)  # win32

# 显示当前python解释器的版本信息
print(sys.version)  # 3.5.2 |Anaconda 4.2.0 (64-bit)| (default, Jul  5 2016, 11:41:13) [MSC v.1900 64 bit (AMD64)]

# 返回当前python解释器的主版本号
print(sys.winver)  # 3.5

args = sys.argv
if len(args) < 2:
    print(args[0])  # D:/21-DAY-Python/18.python标准库/sys模块/example01.py
    print("请传入参数!")
else:
    print(args[0])
    print(args[1])


# 动态修改模块加载路径
sys.path.append("D:/21-DAY-Python/18.python标准库/sys模块/")
import test
print(test.hello)

12.7.3. 举例2

import sys
print(sys.argv)
python echo.py −a −b −c

['echo.py', '−a', '−b', '−c']
import sys
#加载临时环境变量
sys.path.append("D:\GitHub\21_staduy_python\8.面对对象编程初探")
import sys
print('Number of arguments:', len(sys.argv))    # Number of arguments: 1
print('Argument list:', str(sys.argv)) #Argument list: ['F:/电子书系列/写给系统管理员的Python脚本编程指南_配套资源/9781789133226_Code/Chapter01/12_argv_example.py']

eg:

#!/usr/bin/env python
# -*- coding:utf8 -*-
# auther; 18793
# Date:2019/9/15 18:01
# filename: Logging01.py
import sys

hello = "hujianli"

if len(sys.argv) != 2:  # 检查命令行参数的数量
    print("Please supply a filename")
    raise SystemExit(1)

f = open(sys.argv[1])  # 文件名
lines = f.readlines()  # 将文件内容读成列表
f.close()

# 将字符串转换为浮点数
fvalues = [float(line) for line in lines]

# 打印最大值和最小值
print("The minimum value is ", min(fvalues))
print("The maximum value is ", max(fvalues))