python常用模块之sys模块
python常用模块之sys模块
1.sys.argv[]:命令行参数List,第一个元素是程序本身
# 写一个简单的python程序,代码如下:
#!/usr/bin/python
#coding=utf8
"""
Author: xiaoyafei
Created Time : 2018-05-09 14:57:36
File Name: argvTest.py
"""
import sys
print(sys.argv[0])
print(sys.argv[1])
print(sys.argv[2])
# 去执行这个程序
[root@host-10-200-137-195 tmp]# python3 argvTest.py old_str new_str
argvTest.py # 第0个是函数本身
old_str # 第一个
new_str # 第二个
2.sys.exit():退出程序,正常退出是sys.exit(0)
In [1]: import sys
In [2]: sys.exit("bye")
An exception has occurred, use %tb to see the full traceback.
SystemExit: bye # 会打印个bye然后退出
/usr/local/lib/python3.6/site-packages/IPython/core/interactiveshell.py:2918: UserWarning: To exit: use 'exit', 'quit', or Ctrl-D.
warn("To exit: use 'exit', 'quit', or Ctrl-D.", stacklevel=1)
In [2]: sys.exit(0)
An exception has occurred, use %tb to see the full traceback.
SystemExit: 0
/usr/local/lib/python3.6/site-packages/IPython/core/interactiveshell.py:2918: UserWarning: To exit: use 'exit', 'quit', or Ctrl-D.
warn("To exit: use 'exit', 'quit', or Ctrl-D.", stacklevel=1)
3.sys.version():获取python解释程序的版本信息
In [3]: sys.version
Out[3]: '3.6.4 (default, Mar 22 2018, 13:40:22) \n[GCC 4.8.5 20150623 (Red Hat 4.8.5-16)]'
4.sys.maxsize:最大的Int值
In [9]: sys.maxsize
Out[9]: 9223372036854775807
5.sys.path:返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值
In [10]: sys.path # 既然是列表那就可以使用append()进行追加
Out[10]:
['',
'/usr/local/bin',
'/usr/local/lib/python36.zip',
'/usr/local/lib/python3.6',
'/usr/local/lib/python3.6/lib-dynload',
'/usr/local/lib/python3.6/site-packages',
'/usr/local/lib/python3.6/site-packages/pip-1.5.4-py3.6.egg',
'/usr/local/lib/python3.6/site-packages/IPython/extensions',
'/root/.ipython']
6.sys.platform:返回操作系统平台名称
In [11]: sys.platform
Out[11]: 'linux'
7.sys.stdout.write():标准输出
In [3]: sys.stdout.write('please:')
Out[3]: please:7
8.sys.stdin.readline()[:-1]:标准输入
In [4]: sys.stdin.readline()[:-1] # 等待用户输入,直到\n,也可以使用read函数(会一直让用户输入)
abc
Out[4]: 'abc'
9.sys.getrecursionlimit():获取最大递归深度
In [6]: sys.getrecursionlimit()
Out[6]: 3000
10.``:修改递归最大深度
In [7]: sys.setrecursionlimit(1500)
In [8]: sys.getrecursionlimit()
Out[8]: 1500
11.sys.getdefaultencoding():获取解释器默认编码
In [9]: sys.getdefaultencoding() # Linux默认是UTF-8
Out[9]: 'utf-8'
12.sys.getfilesystemencoding():获取内存数据存在文件的默认编码
In [10]: sys.getfilesystemencoding() #
Out[10]: 'utf-8' # 指的是操作系统里的文件系统
python常用模块之sys模块的更多相关文章
- (转)python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)
阅读目录 1.1.1导入模块 1.1.2__name__ 1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代 ...
- python中os和sys模块的详解
平时在工作中经常会用到os模块和sys模块的一些特性,下面是这些特性的一些相关解释,希望对大家有所帮助 os模块 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os. ...
- Python标准库之Sys模块使用详解
sys 模块提供了许多函数和变量来处理 Python 运行时环境的不同部分. 处理命令行参数 在解释器启动后, argv 列表包含了传递给脚本的所有参数, 列表的第一个元素为脚本自身的名称. 使用sy ...
- Python常用内置模块之xml模块
xml即可扩展标记语言,它可以用来标记数据.定义数据类型,是一种允许用户对自己的标记语言进行定义的源语言.从结构上,很像HTML超文本标记语言.但他们被设计的目的是不同的,超文本标记语言被设计用来显示 ...
- Python 入门之 内置模块 -- sys模块
Python 入门之 内置模块 -- sys模块 1.sys模块 sys模块是与python解释器交互的一个接口 print(sys.path) #模块查找的顺序 print(sys.argv) # ...
- 时间模块之datatime模块、os模块、sys模块、json模块、json模块实操
目录 一.模块的绝对导入和相对导入 二.包的概念 三.编程思想的转变 四.软件开发目录规范 五.常见的内置模块 一.时间模块之datatime模块 1.datetime.datetime.today( ...
- python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)
1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代码,我们把很多函数分组,分别放到不同的文件里,这样,每个文 ...
- Python中os和sys模块中常用的方法
os模块 os模块:该模块提供了一些方便使用操作系统相关功能的函数 os.remove() 删除文件 os.rename() 重命名文件 os.walk() 文件目录遍历器 os.chdir() 改变 ...
- python学习之【第十六篇】:Python中的常用模块之OS模块、sys模块、random模块
1. OS模块 OS模块是与操作系统交互的一个接口.内部提供了以下方法: os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname& ...
随机推荐
- shell编程(二)
case判断 前面了解了shell编程的if判断,其实除了if判断,还有case判断. case语法: case VAR in case1) command1 ;; case2) command2 ; ...
- mybatis中的懒加载
知识点:mybatis中的懒加载的使用 参考:https://www.cnblogs.com/ysocean/p/7336945.html?utm_source=debugrun&utm_me ...
- ElasticSearch集群故障案例分析: 警惕通配符查询
最近ElasticSearch集群出现了 https://elasticsearch.cn/article/171 文章中描述的情况,现在转载全文警示下自己. 许多有RDBMS/SQL背景的开发者,在 ...
- elasticsearch系列(六)备份
快照备份 1.创建文件仓库 1.1 在$ELASTICSEARCH_HOME/config/elasticsearch.yaml中增加配置 #这个路径elasticsearch必须有权限访问,这个路径 ...
- java 集合操作小结
Map<String,String> m1=new HashMap<String,String>(); m1.put("zara", "name1 ...
- 代码审查工具Sonarqube安装
前言:在项目开发当中,完成需求并上线是一件很开心的事情,但为了能按时上线功能不得不为了完成功能而写代码,写的时候觉得先把功能上了以后再回头优化此处代码,但真正上线之后你就会发现你再也不想去修改之前遗留 ...
- Apache 配置SSL网站
1. 申请证书 现在可以在阿里云或七牛上申请免费的证书,这里以阿里云为例 进入阿里云证书申请界面 https://www.aliyun.com/product/cas ...
- 迷宫实现递归版本C++
迷宫实现递归版本C++ 问题描述: //////////////////////////////////////////////////////////////题目:迷宫求解问题. 大致思路: //1 ...
- Java MongoDB插入
前言 插入是向MongoDB中添加数据的基本方法.对目标集使用insert方法来插入一条文档.这个方法会给文档增加一个”_id”属性(如果原来没有的话),然后保存到数据库中. 1.连接数据库,拿到集合 ...
- 搞懂分布式技术4:ZAB协议概述与选主流程详解
搞懂分布式技术4:ZAB协议概述与选主流程详解 ZAB协议 ZAB(Zookeeper Atomic Broadcast)协议是专门为zookeeper实现分布式协调功能而设计.zookeeper主要 ...