ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

python的sys模块

2021-09-21 01:00:22  阅读:185  来源: 互联网

标签:name python argv sys 参数 模块 print exit


sys.argv 命令行参数List,第一个元素是程序本身路径  【注】PyCharm中,可以在右键菜单“修改运行配置”中增加参数

sys.exit(n) 退出程序,正常退出时exit(0)或exit();错误退出sys.exit(1),会引发一个异常:SystemExit,如果这个异常没有被捕获,那么python解释器将会退出。如果有捕获此异常的代码,那么这些代码还是会执行。捕获这个异常可以做一些额外的清理工作。

sys.version 获取Python解释程序的版本信息

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

sys.platform 返回操作系统平台名称

#!/usr/bin/env python
# _*_ coding:utf-8 _*_
import sys


def readfile(f_name):  # 定义readfile函数,从文件中读出文件内容
    f = open(f_name, 'r', encoding='utf-8')
    while True:
        line = f.readline()
        if len(line) == 0:
            break
        print(line)  # notice comma 分别输出每行内容
    f.close()


def main():
    print(f'模块的搜索路径:{sys.path}')
    print(f'python解释器的版本:{sys.version}')
    print(f'操作系统平台:{sys.platform}')
    print(sys.argv)  # sys.argv是用列表的形式来获取命令行参数的,sys.argv[0]表示代码本身文件路径,所以参数从sys.argv[1]开始
    if len(sys.argv) < 2:
        print('没带参数,无动作')
        sys.exit()  # sys.exit()是退出
    if sys.argv[1].startswith('--'):  # 带双杠的参数为特殊能数,先检查是特殊参数
        option = sys.argv[1][2:]
        # fetch sys.argv[1] but without the first two characters
        if option == 'version':  # 当命令行参数为-- version,显示版本号
            print('文件版本号为v1.2')
        elif option == 'help':  # 当命令行参数为--help时,显示相关帮助内容
            print("""这个模块的作用是练习获取命令参数
--version:显示文件版本
--help:获取帮助
其它参数:默认是文件名,并显示全部文件的内容
""")
        else:
            print('未知的特殊参数')
            sys.exit()
    else:  # 如果不是特殊参数,则后面的参数都默认为是文件名,则显示文件的内容
        for f_name in sys.argv[1:]:  # 当参数为文件名时,传入readfile,读出其内容
            readfile(f_name)


if __name__ == '__main__':
    main()

 

标签:name,python,argv,sys,参数,模块,print,exit
来源: https://www.cnblogs.com/bohua320/p/15315822.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有