通过代码实例了解Python sys模块


Posted in Python onSeptember 14, 2020

sys-系统特定的参数和功能

该模块提供对解释器使用或维护的一些变量的访问,以及与解释器强烈交互的函数。它始终可用。

代码如下

#!/usr/bin/python
# Filename: cat.py

import sys

def readfile(filename):
  '''Print a file to the standard output.'''
  f = file(filename)
  while True:
    line = f.readline()
    if len(line) == 0:
      break
    print line, # notice comma
  f.close()

# Script starts from here
if len(sys.argv) < 2:
  print 'No action specified.'
  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':
    print 'Version 1.2'
  elif option == 'help':
    print '''\
This program prints files to the standard output.
Any number of files can be specified.
Options include:
 --version : Prints the version number
 --help  : Display this help'''
  else:
    print 'Unknown option.'
  sys.exit()
else:
  for filename in sys.argv[1:]:
    readfile(filename)

这个程序用来模仿linux中的cat命令。

在python程序运行的时候,即不是在交互模式下,在sys.argv[]列表中总是至少有一个项目,它就是当前运行的程序的名称,其他的命令行参数在这个项目之后。

另外,sys模块中还有其他特别有用的项目,sys.stdin sys.stdout sys.stderr分别对应标准输入、标准输出、标准错误。

以上就是本文的全部内容,希望对大家的学习有所帮助,也希望大家多多支持三水点靠木。

Python 相关文章推荐
Python中实现结构相似的函数调用方法
Mar 10 Python
python使用pil生成图片验证码的方法
May 08 Python
Python 描述符(Descriptor)入门
Nov 20 Python
python 使用get_argument获取url query参数
Apr 28 Python
python 读写中文json的实例详解
Oct 29 Python
python实现k-means聚类算法
Feb 23 Python
python+pandas分析nginx日志的实例
Apr 28 Python
Python中format()格式输出全解
Apr 12 Python
Python-openCV读RGB通道图实例
Jan 17 Python
PyInstaller的安装和使用的详细步骤
Jun 02 Python
Python自动化测试PO模型封装过程详解
Jun 22 Python
Python如何快速找到多个字典中的公共键(key)
Apr 29 Python
基于python实现简单C/S模式代码实例
Sep 14 #Python
Elasticsearch py客户端库安装及使用方法解析
Sep 14 #Python
基于python实现简单网页服务器代码实例
Sep 14 #Python
用python绘制樱花树
Oct 09 #Python
Python logging日志库空间不足问题解决
Sep 14 #Python
Python grpc超时机制代码示例
Sep 14 #Python
python/golang 删除链表中的元素
Sep 14 #Python
You might like
PHP 批量更新网页内容实现代码
2010/01/05 PHP
PHP strncasecmp字符串比较的小技巧
2011/01/04 PHP
请离开include_once和require_once
2013/07/18 PHP
PHP制作百度词典查词采集器
2015/01/29 PHP
Codeigniter通过SimpleXML将xml转换成对象的方法
2015/03/19 PHP
PHP中set_include_path()函数相关用法分析
2016/07/18 PHP
Laravel5.5以下版本中如何自定义日志行为详解
2018/08/01 PHP
phpStorm+XDebug+chrome 配置详解
2019/04/01 PHP
Javascript - HTML的request类
2007/01/09 Javascript
表单JS弹出填写提示效果代码
2011/04/16 Javascript
javascript的switch用法注意事项分析
2015/02/02 Javascript
基于jquery实现下拉框美化特效
2016/02/02 Javascript
jquery ajax局部加载方法详解(实现代码)
2016/05/12 Javascript
浅谈JavaScript 覆盖原型以及更改原型
2016/08/31 Javascript
JS控制TreeView的结点选择
2016/11/11 Javascript
jQuery手风琴的简单制作
2017/05/12 jQuery
Vue Render函数原理及代码实例解析
2020/07/30 Javascript
JavaScript实现点击自制菜单效果
2021/02/02 Javascript
[00:58]他们到底在电话里听到了什么?
2017/11/21 DOTA
[34:39]Secret vs VG 2018国际邀请赛淘汰赛BO3 第二场 8.23
2018/08/24 DOTA
Go语言基于Socket编写服务器端与客户端通信的实例
2016/02/19 Python
django中forms组件的使用与注意
2019/07/08 Python
Python实现微信好友的数据分析
2019/12/16 Python
flask框架自定义url转换器操作详解
2020/01/25 Python
美国五金商店:Ace Hardware
2018/03/27 全球购物
宝拉珍选英国官网:Paula’s Choice英国
2019/05/29 全球购物
澳大利亚100%丝绸多彩度假装商店:TheSwankStore
2019/09/04 全球购物
客服文员岗位职责
2013/11/29 职场文书
股东协议书范本
2014/04/14 职场文书
什么是就业协议书
2014/04/17 职场文书
经典演讲稿开场白
2014/08/25 职场文书
边城读书笔记
2015/06/29 职场文书
小学生暑假安全保证书
2015/07/13 职场文书
2020年基层司法所建设情况调研报告
2019/11/30 职场文书
TV动画《间谍过家家》公开PV
2022/03/20 日漫
Java 获取Word中所有的插入和删除修订的方法
2022/04/06 Java/Android