Python基本模块介绍:sys、platform
sys模块
常用函数
sys.argv 命令行参数,实现从程序外部向程序传递参数。
sys.path 模块搜索路径。
sys.platform 获取当前系统平台。
sys.version 获取python版本
sys.exit([arg]) 程序中间的退出,arg=0为正常退出。
sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii。
sys.setdefaultencoding(): 设置系统默认编码
sys.getfilesystemencoding(): 获取文件系统使用编码方式,Windows下返回'mbcs',mac下返回'utf-8'.
sys.stdin,sys.stdout,sys.stderr 标准输入、标准输出和错误输出。
实例
1、获取程序输入参数
# -*- coding: utf-8 -*- import sys if len(sys.argv[1:]) != 2: print "Please input 2 parameters.exit" sys.exit(1) print sys.argv[0] print sys.argv[1] print sys.argv[2] sys.exit(0)
运行结果如下:
d:\temp>python test_sys.py para1 para2
test_sys.py
para1
para2
说明:sys.argv[0]表示脚本名,sys.argv[1]、sys.argv[2].、...依次表示第1个参数、第2个参数...第n个参数
2、获取脚本执行的文件名、函数名称、调用函数名称、行号
import sys def get_cur_info(): print sys._getframe().f_code.co_filename #获取当前文件名 print sys._getframe().f_code.co_name #获取当前函数名 print sys._getframe(0).f_code.co_name #获取当前函数名 print sys._getframe(1).f_code.co_name #调用该函数的函数的名字,如果没有被调用,则返回<module> print sys._getframe().f_lineno #当前行号 if __name__ == '__main__': get_cur_info()
运行结果如下:
D:\Program Files\Notepad++>python test.py
test.py
get_cur_info
get_cur_info
<module>
8
platform模块
常用函数
platform.platform() 获取操作系统平台
platform.uname() 获取操作系统信息
platform.system() 获取操作系统平台
platform.version() 获取操作系统版本
platform.machine() 获取计算机类型
platform.processor() 获取计算机处理器类型
platform.node() 获取计算机网络名
platform.python_version() 获取Python版本号
实例
>>> import platform
>>> platform.platform()
'Windows-10-10.0.10240'
>>> platform.uname()
('Windows', 'LAPTOP-H855JL4C', '10', '10.0.10240', 'AMD64', 'Intel64 Family 6 Model 78 Stepping 3, GenuineIntel')
>>> platform.system()
'Windows'
>>> platform.version()
'10.0.10240'
>>> platform.machine()
'AMD64'
>>> platform.processor()
'Intel64 Family 6 Model 78 Stepping 3, GenuineIntel'
>>> platform.node()
'LAPTOP-H855JL4C'
>>> platform.python_version()
'2.7.14'
分类:
Python
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· .NET Core 中如何实现缓存的预热?
· 从 HTTP 原因短语缺失研究 HTTP/2 和 HTTP/3 的设计差异
· AI与.NET技术实操系列:向量存储与相似性搜索在 .NET 中的实现
· 基于Microsoft.Extensions.AI核心库实现RAG应用
· Linux系列:如何用heaptrack跟踪.NET程序的非托管内存泄露
· TypeScript + Deepseek 打造卜卦网站:技术与玄学的结合
· 阿里巴巴 QwQ-32B真的超越了 DeepSeek R-1吗?
· 【译】Visual Studio 中新的强大生产力特性
· 【设计模式】告别冗长if-else语句:使用策略模式优化代码结构
· 10年+ .NET Coder 心语 ── 封装的思维:从隐藏、稳定开始理解其本质意义