python——sys模块之获取参数

本文介绍了Python的sys模块,重点讲解了sys.argv如何获取脚本参数,包括sys.argv[0]作为脚本名称的用法,以及sys.version用于获取解释器版本信息的功能,帮助开发者实现程序的版本兼容。此外,还提到了sys.path用于模块搜索路径的相关内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

什么是sys模块?

sys模块:全称system,指的是解释器(os指的是操作系统) 常用操作,用于接收系统操作系统调用解释器传入的参数

1、sys.argv
获取脚本传递的所有参数,返回一个列表。列表中的所有元素均为脚本传递的参数。
sys.argv[0] # 脚本传递的第一个参数,固定为脚本名称,可以通过次方式获得脚本名称
可以使用索引依次获得脚本传递的其他参数

2 sys.version
获取解释器的版本信息,返回一个字符串。根据python版本编写符合不同版本的程序 使程序可兼容

import os
import sys
print(sys.version[:3])

3.6

可以通过version查看是那个版本的程序

import os
import sys
if sys.version[0] == '2':
    print('running in python2')
elif sys.version[0] == '3':
    print('running in python3')

输出结果
running in python3

可以通过直接打印版本 查看是那个版本的程序

import os 
import sys
print(sys.version)

输出结果
3.6.4 (default, Aug 10 2018, 11:14:49) 
[GCC 4.8.5 20150623 (Red Hat 4.8.5-11)]

返回模块的搜索路径,初始化使用PYTHONPATH环境变量
print(sys.path)

实现跨平台

print(sys.platform)          
if sys.platform == 'linux':  
    os.system('ifconfig')    
else:                        
    os.system('ipconfig')    
练习:

比较两个文件的不同之处

import difflib
import sys
if len(sys.argv) !=2:
    print(
        """
        Usage: %s 比较的文件1 比较的文件2
        """%(sys.argv[0])
    )
else:
    file1 = sys.argv[1]
    file2 = sys.argv[2]
    try:                      # 这里的是摆出异常,将有可能出现的错误情况提前列出。
        with open(file1) as f1,open(file2) as f2:
            con1 =f1.read().splitlines(keepends=True)
            con2 =f2.read().splitlines(keepends=True)
    except Exception as a:
        print('比较错误,错误的原因',a)
    d = difflib.HtmlDiff
    htmlcontent = d.make_file(con1,con2)
    with open('different.html','w') as f:
        f.write(htmlcontent)
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值