通过代码实例了解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 相关文章推荐
Mac下Supervisor进程监控管理工具的安装与配置
Dec 16 Python
Python yield 使用浅析
May 28 Python
浅谈Python爬取网页的编码处理
Nov 04 Python
go和python变量赋值遇到的一个问题
Aug 31 Python
Django项目开发中cookies和session的常用操作分析
Jul 03 Python
解决PyCharm不运行脚本,而是运行单元测试的问题
Jan 17 Python
Python函数和模块的使用总结
May 20 Python
Pytorch 保存模型生成图片方式
Jan 10 Python
python实现ssh及sftp功能(实例代码)
Mar 16 Python
python如何从键盘获取输入实例
Jun 18 Python
Django url 路由匹配过程详解
Jan 22 Python
总结几个非常实用的Python库
Jun 26 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
介绍几个array库的新函数 php
2006/12/29 PHP
php curl 伪造IP来源的实例代码
2012/11/01 PHP
PHP正则验证Email的方法
2015/06/15 PHP
PHP控制前台弹出对话框的实现方法
2016/08/21 PHP
laravel 解决groupBy时出现的错误 isn't in Group By问题
2019/10/17 PHP
PHP项目多语言配置平台实现过程解析
2020/05/18 PHP
使用javascript访问XML数据的实例
2006/12/27 Javascript
ActiveX控件与Javascript之间的交互示例
2014/06/04 Javascript
jQuery判断当前点击的是第几个li的代码
2014/09/26 Javascript
使用jQuery和Bootstrap实现多层、自适应模态窗口
2014/12/22 Javascript
js使用心得分享
2015/01/13 Javascript
jQuery实现获取绑定自定义事件元素的方法
2015/12/02 Javascript
js格式化时间的简单实例
2016/11/27 Javascript
Webpack打包css后z-index被重新计算的解决方法
2017/06/18 Javascript
javaScript之split与join的区别(详解)
2017/11/08 Javascript
vue 组件的封装之基于axios的ajax请求方法
2018/08/11 Javascript
通过vue-cli3构建一个SSR应用程序的方法
2018/09/13 Javascript
elementUI select组件默认选中效果实现的方法
2019/03/25 Javascript
详解vue-cli+es6引入es5写的js(两种方法)
2019/04/19 Javascript
VUE 实现复制内容到剪贴板的两种方法
2019/04/24 Javascript
vue项目打包后上传至GitHub并实现github-pages的预览
2019/05/06 Javascript
ES6对象操作实例详解
2020/05/23 Javascript
python中查找excel某一列的重复数据 剔除之后打印
2013/02/10 Python
Windows平台Python连接sqlite3数据库的方法分析
2017/07/12 Python
python递归函数绘制分形树的方法
2018/06/22 Python
python requests 测试代理ip是否生效
2018/07/25 Python
python 构造三维全零数组的方法
2018/11/12 Python
Python爬虫——爬取豆瓣电影Top250代码实例
2019/04/17 Python
Python机器学习算法库scikit-learn学习之决策树实现方法详解
2019/07/04 Python
CSS3 :not()选择器实现最后一行li去除某种css样式
2016/10/19 HTML / CSS
伦敦一家领先的精品零售商:IRIS Fashion
2019/05/24 全球购物
小学毕业感言500字
2014/02/28 职场文书
毕业自我鉴定怎么写
2014/03/25 职场文书
2015年保管员工作总结
2015/04/30 职场文书
2015年乡镇党务公开工作总结
2015/05/19 职场文书
matplotlib画混淆矩阵与正确率曲线的实例代码
2021/06/01 Python