通过代码实例了解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 相关文章推荐
Flask SQLAlchemy一对一,一对多的使用方法实践
Feb 10 Python
简单使用Python自动生成文章
Dec 25 Python
一些Python中的二维数组的操作方法
May 02 Python
Python实现二维有序数组查找的方法
Apr 27 Python
分享python数据统计的一些小技巧
Jul 21 Python
python实现报表自动化详解
Nov 16 Python
python读取视频流提取视频帧的两种方法
Oct 22 Python
详解pyenv下使用python matplotlib模块的问题解决
Nov 29 Python
浅谈python的输入输出,注释,基本数据类型
Apr 02 Python
Python爬虫实现使用beautifulSoup4爬取名言网功能案例
Sep 15 Python
Cython编译python为so 代码加密示例
Dec 23 Python
Python 微信公众号文章爬取的示例代码
Nov 30 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
星际争霸教主Flash的ID由来:你永远不会知道他之前的ID是www!
2019/01/18 星际争霸
社区(php&amp;&amp;mysql)四
2006/10/09 PHP
利用curl 多线程 模拟 并发的详解
2013/06/14 PHP
通过table标签,PHP输出EXCEL的实现方法
2013/07/24 PHP
ThinkPHP使用PHPExcel实现Excel数据导入导出完整实例
2014/07/22 PHP
php的mkdir()函数创建文件夹比较安全的权限设置方法
2014/07/28 PHP
谈谈PHP连接Access数据库的注意事项
2016/08/12 PHP
PHP多种序列化/反序列化的方法详解
2017/06/23 PHP
jQuery 属性选择器element[herf*='value']使用示例
2013/10/20 Javascript
js实现表格字段排序
2014/02/19 Javascript
js转化毫秒为时间格式代码
2014/04/10 Javascript
JavaScript验证图片类型(扩展名)的函数分享
2014/05/05 Javascript
jQuery数据缓存用法分析
2015/02/20 Javascript
jQuery实现响应鼠标滚动的动感菜单效果
2015/09/21 Javascript
轻松实现javascript图片轮播特效
2016/01/13 Javascript
深入学习jQuery Validate表单验证(二)
2016/01/18 Javascript
JS加载iFrame出现空白问题的解决办法
2016/05/13 Javascript
angularjs $http实现form表单提交示例
2017/06/09 Javascript
Angular实现预加载延迟模块的示例
2017/10/12 Javascript
Vue侦测相关api的实现方法
2019/05/22 Javascript
vue + axios get下载文件功能
2019/09/25 Javascript
如何实现小程序与小程序之间的跳转
2020/11/04 Javascript
[00:32]2018DOTA2亚洲邀请赛iG出场
2018/04/03 DOTA
[06:49]2018DOTA2国际邀请赛寻真——VirtusPro傲视群雄
2018/08/12 DOTA
Python中让MySQL查询结果返回字典类型的方法
2014/08/22 Python
python多线程操作实例
2014/11/21 Python
Python编程中的异常处理教程
2015/08/21 Python
基于Python安装pyecharts所遇的问题及解决方法
2019/08/12 Python
Python使用matplotlib实现交换式图形显示功能示例
2019/09/06 Python
印度婴儿用品在线商店:Firstcry.com
2016/12/05 全球购物
美国著名的户外用品品牌:L.L.Bean
2018/01/05 全球购物
泰国办公用品购物网站:OfficeMate
2018/02/04 全球购物
还款承诺书范文
2014/05/20 职场文书
2015年食品安全工作总结
2015/05/15 职场文书
保险公司2016开门红口号集锦
2015/12/24 职场文书
Apache Kafka 分区重分配的实现原理解析
2022/07/15 Servers