通过代码实例了解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对url格式解析的方法
May 13 Python
基于hashlib模块--加密(详解)
Jun 21 Python
python实现两个文件合并功能
Apr 01 Python
使用python爬虫获取黄金价格的核心代码
Jun 13 Python
windows下cx_Freeze生成Python可执行程序的详细步骤
Oct 09 Python
对Python通过pypyodbc访问Access数据库的方法详解
Oct 27 Python
python flask web服务实现更换默认端口和IP的方法
Jul 26 Python
tensorflow指定GPU与动态分配GPU memory设置
Feb 03 Python
关于torch.optim的灵活使用详解(包括重写SGD,加上L1正则)
Feb 20 Python
python脚本实现mp4中的音频提取并保存在原目录
Feb 27 Python
Python中Selenium库使用教程详解
Jul 23 Python
Python人工智能之混合高斯模型运动目标检测详解分析
Nov 07 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的历史和优缺点
2006/10/09 PHP
Yii框架中memcache用法实例
2014/12/03 PHP
PHP 反射(Reflection)使用实例
2015/05/12 PHP
如何通过View::first使用Laravel Blade的动态模板详解
2017/09/21 PHP
PHP封装的非对称加密RSA算法示例
2018/05/28 PHP
关于PHP5.6+版本“No input file specified”问题的解决
2019/12/11 PHP
JS 时间显示效果代码
2009/08/23 Javascript
javascript showModalDialog模态对话框使用说明
2009/12/31 Javascript
javascript实现链接单选效果的方法
2015/05/13 Javascript
js限制input标签中只能输入中文
2015/06/26 Javascript
JS 根据子网掩码,网关计算出所有IP地址范围示例
2020/04/23 Javascript
Bootstrap Table从服务器加载数据进行显示的实现方法
2016/09/29 Javascript
JavaScript“尽快失败”的原则实例详解
2016/10/08 Javascript
vue的style绑定background-image的方式和其他变量数据的区别详解
2018/09/03 Javascript
jquery实现动态创建form并提交的方法示例
2019/05/27 jQuery
Node.js从字符串生成文件流的实现方法
2019/08/18 Javascript
Vue 使用beforeEach实现登录状态检查功能
2019/10/31 Javascript
vue-router 中 meta的用法详解
2019/11/01 Javascript
[00:31]2016完美“圣”典风云人物:国士无双宣传片
2016/12/04 DOTA
[05:59]2018DOTA2国际邀请赛寻真——只为胜利的Secret
2018/08/13 DOTA
Python对象的深拷贝和浅拷贝详解
2014/08/25 Python
python实现获取客户机上指定文件并传输到服务器的方法
2015/03/16 Python
Python中条件判断语句的简单使用方法
2015/08/21 Python
Python实现简单http服务器
2018/04/12 Python
Python后台开发Django会话控制的实现
2019/04/15 Python
linux环境下Django的安装配置详解
2019/07/22 Python
Django Haystack 全文检索与关键词高亮的实现
2020/02/17 Python
如何在django中实现分页功能
2020/04/22 Python
html5 worker 实例(一) 为什么测试不到效果
2013/06/24 HTML / CSS
马来西亚网上购物:Youbeli
2018/03/30 全球购物
意大利珠宝店:Luxury Zone
2019/01/05 全球购物
学雷锋志愿者活动方案
2014/08/21 职场文书
幼儿园班级管理心得体会
2016/01/07 职场文书
2019年大学生暑期社会实践调查报告模板
2019/11/07 职场文书
Python+Selenium自动化环境搭建与操作基础详解
2022/03/13 Python
vue生命周期钩子函数以及触发时机
2022/04/26 Vue.js