12.python内置模块之sys模块介绍
python的sys模块是与python解释器交互的一个接口,提供对解释器使用或维护的一些变量的访问,即与解释器强烈交互的函数。
sys模块的常用函数:
1.sys.argv:命令行参数列表。第一个元素是脚本的名称,后面是终端传入的值;
可以在执行整个程序前通过终端传入参数,然后执行程序,实现从程序外部向程序内部来传递参数。
2.sys.path:返回模块的搜索路径的列表。可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。也可以使用 sys.path.append(path)添加模块搜索路径。
3.sys.exit(n):退出解释器,n=0为正常退出,其他为异常退出。一般情况下执行到主程序末尾,解释器自动退出。但是如果需要中途退出 程序,可以调用sys.exit函数。【注意】exit()运用在交互式shell中,而sys.exit主要用于程序中,二者功能类似。
4.sys.modules:python启动时就被导入的所有模块,以及import 导入的模块存放的一个字典 key为模块的名称,value为模块对应的内 存地址。sys.modules
是一个全局字典,该字典是python启动后就加载在内存中。每当导入新的模块,sys.modules
将自动记录该模块。当第二次再导入该模块时,python会直接到字典中查找,从而加快了程序运行的速度。它拥有字典所拥有的一切方法。
5.sys.version:获取Python解释程序的版本信息。
6.sys.platform:返回操作系统平台名称。如:win32、Linux等。
7.sys.stdin/sys.stdout:标准输入/标准输出。如果需要更好地控制输出,而print不能满足要求时,可以使用它们。
8.sys.getdefaultencoding() :获取系统当前编码,一般默认为ascii。
9.sys.setdefaultencoding() :设置系统默认编码,执行dir(sys)时不会看到这个方法,在解释器中执行不通过,可以先执行reload(sys),在执行 setdefaultencoding('utf8'),此时将系统默认编码设置为utf8。
10.sys.getfilesystemencoding() :获取文件系统使用编码方式,例如:mac下返回'utf-8'。
函数演示:
1.假设sys.py脚本文件内容如下:
- #!/usr/bin/env python
- import sys
- print(sys.argv[0])
- print(sys.argv[1])
命令行执行:python sys.py first ,则输出:
- sys.py
- first
2.假设exit.py脚本文件内容如下:
- #!/usr/bin/env python
- import sys
- def exitfunc(value):
- print(value)
- sys.exit(0)
- print("hello1")
- try:
- sys.exit(1)
- except SystemExit,value:
- exitfunc(value)
- print("hello2")
命令行执行:python exit.py,则输出:
- hello1
- 1
3.sys.path演示:
- import sys
- sys.path
- # 输出结果:
- # ['', '/usr/lib/python2.7', '/usr/lib/python2.7/plat-x86_64-linux-gnu', '/usr/lib/python2.7/lib-tk',
- # '/usr/lib/python2.7/lib-old', '/usr/lib/python2.7/lib-dynload', '/usr/local/lib/python2.7/dist-packages',
- # '/usr/lib/python2.7/dist-packages', '/usr/lib/python2.7/dist-packages/PILcompat',
- # '/usr/lib/python2.7/dist-packages/gtk-2.0', '/usr/lib/python2.7/dist-packages/ubuntu-sso-client']
4.sys.modules演示:
- #!/usr/bin/env python
- import sys
- print(sys.modules.keys())
- 6 print(sys.modules.values())
7
8 print(sys.modules["os"]) # 输出 os 模块的路径
5.sys.stdout标准输出演示:
- import time
- for i in range(50):
- sys.stdout.write("*") # 打印*号,输出 *1 ;类似于print ,但print输出则为 *,这是区别
- time.sleep(0.1)
- sys.stdout.flush() # 刷新,显示到屏幕上
12.python内置模块之sys模块介绍的更多相关文章
- python基础31[常用模块介绍]
python基础31[常用模块介绍] python除了关键字(keywords)和内置的类型和函数(builtins),更多的功能是通过libraries(即modules)来提供的. 常用的li ...
- Python内置模块和第三方模块
1.Python内置模块和第三方模块 内置模块: Python中,安装好了Python后,本身就带有的库,就叫做Python的内置的库. 内置模块,也被称为Python的标准库. Python 2.x ...
- python os和sys模块使用
python os和sys模块使用 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录:相 ...
- (转)python之os,sys模块详解
python之sys模块详解 原文:http://www.cnblogs.com/cherishry/p/5725184.html sys模块功能多,我们这里介绍一些比较实用的功能,相信你会喜欢的,和 ...
- [转载]python中的sys模块(二)
#!/usr/bin/python # Filename: using_sys.py import sys print 'The command line arguments are:' for i ...
- [转载]Python中的sys模块
#!/usr/bin/python # Filename: cat.py import sys def readfile(filename): '''Print a file to the stand ...
- Python os与sys模块解析
os与sys模块的官方解释如下: os: This module provides a portable way of using operating system dependent functio ...
- Python基础知识—sys模块初探
有关Python解释器的信息 与所有其他模块一样,必须使用import语句导入sys模块,即import sys. sys模块提供有关Python解释器的常量,函数和方法.dir(系统)给出了可用常量 ...
- Python正则表达式与re模块介绍
Python中通过re模块实现了正则表达式的功能.re模块提供了一些根据正则表达式进行查找.替换.分隔字符串的函数.本文主要介绍正则表达式先关内容以及re模块中常用的函数和函数常用场景. 正则表达式基 ...
随机推荐
- Dynamics CRM 快速获取custom entity
我们可以使用Command来实现快速获取custom entity的值. 创建cmd 并且在nuget中引用 CRMSDK 复制下面的代码. userName 为登陆CRM的email passwo ...
- Shell之信号捕获
前言 当我们在运行某一段代码的时候,希望有类似事物一样的操作,要么成功,要么失败:一般的shell脚本都是自上而下,从左之后运行,碰到异常信号就会出错,从而终止脚本的运行,这个时候脚本可能运行到某一处 ...
- docker启动redis端口映射错误问题解决
今天使用docker安装redis,使用的时候出现了一些问题.第一次安装好后,在虚拟机后台启动了redis,然后在连接虚拟机的redis的时候怎么也连不上.出现这种情况我第一反应是防火墙没有开启所以我 ...
- django用户认证的session的应用
from django.shortcuts import render,redirect def login(request): if request.method=='GET': return re ...
- 两张导图带你走进Spring设计模式与编程思想
两张思维导图带你了解Spring Spring常用设计模式 Spring设计思想
- 【Nginx入门系列】第一章 手把手带你搭建Nginx服务器
1 nginx安装环境 nginx是C语言开发,建议在linux上运行,本教程使用Centos6.5作为安装环境,搭建前请先按如下语句配置好环境. GCC 安装nginx需要先将官网下载的源码进行编译 ...
- JavaScript 替换所有匹配内容
由于JavaScript 的 replace 只能替换一次,因此另外编写一个能现替换全部匹配内容方法,代码如下: /*把 content 中所有的 searchValue 替换为 replaceVal ...
- 介绍Netty
介绍Netty 概述 Netty是由JBOSS提供的一个java开源框架,现为 Github上的独立项目.Netty提供异步的.事件驱动的网络应用程序框架和工具,用以快速开发高性能.高可靠性的网络服务 ...
- JAVA环境配置(Windows10)
Java开发环境配置 下载JDK 首先我们需要下载java开发工具包JDK,下载地址:https://www.oracle.com/technetwork/java/javase/downloads/ ...
- webdriver高级应用(2) - 滚动条操作
webdriver高级应用(2) - 滚动条操作 #-*- coding:utf-8 -*- from selenium import webdriver import unittest import ...