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

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分别对应标准输入、标准输出、标准错误。

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

(0)

相关推荐

  • python的sys.path模块路径添加方式

    对于添加一个文件的路径 我用的第一个方法就是sys.path.append() 博主比较懒,就直接截图了啊 对于上级文件路径和再上一级的路径可以直接添加"..",这样到时候导入模块的时候程序能在文件的上级目录直接去查找自己写的模块 查看添加成功的方法,但是添加的时候不要像我一样的随便添加,要么上级目录的简单的添加是sys.path.append("..") 另一种是需要添加完整的文件路径的,然后就能顺利的使用模块了 print sys.path查看你添加的路径,到时

  • Python参数解析模块sys、getopt、argparse使用与对比分析

    一些命令行工具的使用能够大大简化代码脚本的维护成本,提升复用性,今天主要是借助于python提供的几种主流的参数解析工具来实现简单的功能,主要是学习实践为主,这是新年伊始开工的第一篇,还是花了一番功夫来完成写作的和实验的,希望能够帮到需要的朋友们,新的一年里,祝大家心想事成! 好了,废话不多说,下面进入正文. Python中有三个内建的模块用于处理命令行参数: 第一个:sys,最简单,只能够提供简单的参数解析功能 第二个:getopt,只能简单的处理命令行参数 ,较sys封装更好一点 第三个:a

  • python中os和sys模块的区别与常用方法总结

    前言 本文主要介绍了关于python中os和sys模块区别与常用方法的相关内容,分享出来供大家参考学习,下面话不多说了,来一起看看详细的介绍吧. 官方解释: os: This module provides a portable way of using operating system dependent functionality. 翻译:提供一种方便的使用操作系统函数的方法. sys:This module provides access to some variables used or

  • python sys模块sys.path使用方法示例

    python sys模块包含了与python解释器和它的环境有关的函数,这个你可以通过dir(sys)来查看他里面的方法和成员属性 复制代码 代码如下: import sysprint dir(sys) result: 复制代码 代码如下: ['__displayhook__', '__doc__', '__excepthook__', '__name__', '__package__', '__stderr__', '__stdin__', '__stdout__', '_clear_type

  • python中使用sys模板和logging模块获取行号和函数名的方法

    对于python,这几天一直有两个问题在困扰我:1.python中没办法直接取得当前的行号和函数名.这是有人在论坛里提出的问题,底下一群人只是在猜测python为什么不像__file__一样提供__line__和__func__,但是却最终也没有找到解决方案.2.如果一个函数在不知道自己名字的情况下,怎么才能递归调用自己.这是我一个同事问我的,其实也是获取函数名,但是当时也是回答不出来. 但是今晚!所有的问题都有了答案.一切还要从我用python的logging模块说起,logging中的for

  • python3.7 sys模块的具体使用

    Python的sys模块提供访问解释器使用或维护的变量,和与解释器进行交互的函数.通俗来讲,sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python运行时的环境. #!/usr/bin/env python __author__ = "lrtao2010" #python3.7 sys模块 #sys模块负责程序与python解释器的交互,提供了一系列的函数和变量, #用于操控python运行时的环境. # sys.argv 接收命令行参数,生成一个L

  • Python3.5内置模块之os模块、sys模块、shutil模块用法实例分析

    本文实例讲述了Python3.5内置模块之os模块.sys模块.shutil模块用法.分享给大家供大家参考,具体如下: 1.os模块:提供对操作系统进行调用的接口 #!/usr/bin/env python # -*- coding:utf-8 -*- # Author:ZhengzhengLiu import os print(os.getcwd()) #获取当前的操作目录,即当前Python脚本工作的目录路径 #os.chdir("F:\\PythonCode\\day5\\test&quo

  • Python标准库之Sys模块使用详解

    sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分. 处理命令行参数 在解释器启动后, argv 列表包含了传递给脚本的所有参数, 列表的第一个元素为脚本自身的名称. 使用sys模块获得脚本的参数 复制代码 代码如下: print "script name is", sys.argv[0]        # 使用sys.argv[0]采集脚本名称 if len(sys.argv) > 1:     print "there are",

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

    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: b

  • Python sys模块常用方法解析

    这篇文章主要介绍了Python sys模块常用方法解析,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下 旨在记录 python sys 模块的常用方法 sys 模块常用方法及属性 sys.argv: 接收外部传递的参数. sys.exit([arg]): 程序退出,arg 为 0 正常退出. sys.getdefaultencoding(): 获取系统当前编码,一般默认为ascii. sys.setdefaultencoding(): 设置系统默

  • python sys模块使用方法介绍

    Python中的sys模块主要用于程序与解释器的交互,提供一系列函数和变量来处理Python运行环境 1.sys.api_version -----获取当前python内部版本号 import sys print(sys.api_version) 1013 2.sys.version -----获取版本信息 import sys print(sys.version) 3.9.1 (tags/v3.9.1:1e5d33e, Dec  7 2020, 17:08:21) [MSC v.1927 64

  • python—sys模块之获取参数的操作

    sys模块:全称system,指的是解释器. 常用操作,用于接收系统操作系统调用解释器传入的参数 1. sys.argv 获取脚本传递的所有参数,返回一个列表.列表中的所有元素均为脚本传递的参数. sys.argv[0] # 脚本传递的第一个参数,固定为脚本名称,可以通过次方式获得脚本名称 可以使用索引依次获得脚本传递的其他参数 2. sys.version 获取解释器的版本信息,返回一个字符串.根据python版本编写符合不同版本的程序 使程序可兼容 3.6.4 (default, Aug 1

  • 通过实例解析python subprocess模块原理及用法

    一.subprocess以及常用的封装函数 运行python的时候,我们都是在创建并运行一个进程.像Linux进程那样,一个进程可以fork一个子进程,并让这个子进程exec另外一个程序.在Python中,我们通过标准库中的subprocess包来fork一个子进程,并运行一个外部的程序. subprocess包中定义有数个创建子进程的函数,这些函数分别以不同的方式创建子进程,所以我们可以根据需要来从中选取一个使用.另外subprocess还提供了一些管理标准流(standard stream)

  • 通过代码实例了解Python异常本质

    异常的本质导引问题 在实际工作中,我们遇到的问题都不是完美的,比如:你写某个模块,用户输入不一定符合你的要求:你的程序要打开某个文件,这个文件不可能存在或者打开格式不对,你要读取数据库数据,数据可能是空的:我们程序运行着,但内存或硬盘可能已经满了 软件程序运行过程中,非常可能遇到我们刚刚提出的这些问题,我们称之为:异常,英文名:Exception,译为:例外.遇到这些情况,我们的处理方法如下 如果我们要拷贝一个文件,在没有异常的情况下,我们需要考虑到各种情况 if 'd:/a.txt'这个文件存

  • 通过代码实例展示Python中列表生成式的用法

    1 平方列表 如果你想创建一个包含1到10的平方的列表,你可以这样做: squares = [] for x in range(10): squares.append(x**2) 这是一个简单的例子,但是使用列表生成式可以更简洁地创建这个列表. squares = [x**2 for x in range(10)] 这个最简单的列表生成式由方括号开始,方括号内部先是一个表达式,其后跟着一个for语句.列表生成式总是返回一个列表. 2 整除3的数字列表 通常,你可能这样写: numbers = [

  • python标准库学习之sys模块详解

    目录 前言 处理命令行参数 sys.exit(n) 退出程序,正常退出时exit(0) sys.version 获取Python解释程序的版本信息 sys.platform 返回操作系统平台名称 sys.stdin.readline()与input sys.stdout与print 总结 补充:sys 模块的实例 前言 sys模块是与python解释器交互的一个接口.sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分. 处理命令行参数 在解释器启动后, argv 列表包含

  • Python学习之sys模块使用教程详解

    sys模块 与 os包一样,也是对系统资源进行调用.功能同样也是非常丰富,接下来我们会对 sys模块的一些简单且常用的函数进行介绍,主要针对一些非功能性的函数与属性来认识一些不太常见的 Python 背后的事件. sys 中的常用方法 函数名 参数 介绍 举例 返回值 modules(属性) 无 将Python启动时加载的模块集合起来并返回一个列表 sys.modules 列表 path(属性) 无 返回当前Py的环境路径(当前py环境可以导入内置.第三方包与函数的所在路径) sys.path

随机推荐