python基础之模块之sys模块
sys模块的功能
sys是python中较为常用的一个模块,他提供了对python脚本运行时的环境的操作。
sys功能:
1 sys.argv #将python脚本运行时的脚本名以及参数作为一个list,并输出。
# test_py.py文件
#/usr/bin/python3
import sys print('the script name is:',sys.argv[0])
if len(sys.argv) > 1:
print("there are", len(sys.argv)-1, "arguments:") # 使用len(sys.argv)-1采集参数个数-1为减去[0]脚本名称
for arg in sys.argv[1:]: #输出除了[0]外所有参数
print(arg)
else:
print("there are no arguments!") [root@slyoyo ~]# python3 test_py.py haha
the script name is: test_py.py
there are 1 arguments:
haha
2 sys.path #返回一个list,该list为当前脚本的path环境变量(PYTHONPATH)
>>> sys.path
['', '/usr/local/python/lib/python34.zip', '/usr/local/python/lib/python3.4', '/usr/local/python/lib/python3.4/plat-linux', '/usr/local/python/lib/python3.4/lib-dynload', '/usr/local/python/lib/python3.4/site-packages']
如果我们要增加或者删除pythonpath的话,使用list的insert或者pop功能即可。
import os,sys
print(sys.path)
new_path=os.path.dirname(os.path.dirname(os.path.abspath(__file__)))
print(new_path)
sys.path.insert(0,new_path)
print(sys.path) #结果:
['C:\\Users\\Capital-D\\PycharmProjects\\untitled\\test\\atm\\fun', 'C:\\Users\\Capital-D\\PycharmProjects\\untitled', 'C:\\windows\\SYSTEM32\\python34.zip', 'C:\\Python34\\DLLs', 'C:\\Python34\\lib', 'C:\\Python34', 'C:\\Python34\\lib\\site-packages']
C:\Users\Capital-D\PycharmProjects\untitled\test\atm
['C:\\Users\\Capital-D\\PycharmProjects\\untitled\\test\\atm', 'C:\\Users\\Capital-D\\PycharmProjects\\untitled\\test\\atm\\fun', 'C:\\Users\\Capital-D\\PycharmProjects\\untitled', 'C:\\windows\\SYSTEM32\\python34.zip', 'C:\\Python34\\DLLs', 'C:\\Python34\\lib', 'C:\\Python34', 'C:\\Python34\\lib\\site-packages']
3 sys.platform #返回当前平台
import sys,os
print(sys.platform)
#结果:
win32
4 sys.stdout sys.stdin #标准输出/输入
print 'Dive in' # 标准输出
saveout = sys.stdout # 终在重定向前保存stdout,这样的话之后你还可以将其设回正常
fsock = open('out.log', 'w') # 打开一个新文件用于写入。如果文件不存在,将会被创建。如果文件存在,将被覆盖。
sys.stdout = fsock # 所有后续的输出都会被重定向到刚才打开的新文件上。 print 'This message will be logged instead of displayed' # 这样只会将输出结果“打印”到日志文件中;屏幕上不会看到输出 sys.stdout = saveout # 在我们将 stdout 搞乱之前,让我们把它设回原来的方式。 fsock.close() # 关闭日志文件。
5 sys.stderr #错误输出
使用方法同上
python基础之模块之sys模块的更多相关文章
- Python基础之datetime、sys模块
1.datetime模块 1)datetime.datetime.now(),返回各当前时间.日期类型. datetime.datetime.now(),返回当前日期. import datetime ...
- python常用模块之sys模块
python常用模块之sys模块 1.sys.argv[]:命令行参数List,第一个元素是程序本身 # 写一个简单的python程序,代码如下: #!/usr/bin/python #coding= ...
- Python库的使用之-Sys模块
Python标准库之sys模块使用详解,讲解了使用sys模块获得脚本的参数.处理模块. 使用sys模块操作 模块搜索路径.使用sys模块查找内建模块.使用sys模块查找已导入的模块,重定向输出以及重定 ...
- (转)python常用模块(模块和包的解释,time模块,sys模块,random模块,os模块,json和pickle序列化模块)
阅读目录 1.1.1导入模块 1.1.2__name__ 1.1模块 什么是模块: 在计算机程序的开发过程中,随着程序代码越写越多,在一个文件里代码就会越来越长,越来越不容易维护. 为了编写可维护的代 ...
- Python基础(二)之模块
模块:人们写好的一系列用于实现某种功能的代码封装起来,需要使用的时候直接调用即可. 模块分类:标准模块.第三方模块 标准模块:不需要安装,直接调用即可 第三方模块:需要安装后才可使用 注意:自己创建的 ...
- 时间模块之datatime模块、os模块、sys模块、json模块、json模块实操
目录 一.模块的绝对导入和相对导入 二.包的概念 三.编程思想的转变 四.软件开发目录规范 五.常见的内置模块 一.时间模块之datatime模块 1.datetime.datetime.today( ...
- python基础(19):random模块、time模块、sys模块、os模块
1. random模块 导入的是random模块,格式是: import random 1.1 随机小数 取随机小数 : 数学计算. print(random.random()) # 取0-1之间的小 ...
- Python学习笔记——基础篇【第五周】——os模块和sys模块
OS模块 提供对操作系统进行调用的接口 os.getcwd() 获取当前工作目录,即当前python脚本工作的目录路径 os.chdir("dirname") 改变当前脚本工作目录 ...
- Python 自学基础(四)——time模块,random模块,sys模块,os模块,loggin模块,json模块,hashlib模块,configparser模块,pickle模块,正则
时间模块 import time print(time.time()) # 当前时间戳 # time.sleep(1) # 时间延迟1秒 print(time.clock()) # CPU执行时间 p ...
随机推荐
- 【quickhybrid】如何实现一个Hybrid框架
章节目录 [quickhybrid]如何实现一个跨平台Hybrid框架 [quick hybrid]架构一个Hybrid框架 [quick hybrid]H5和Native交互原理 [quick hy ...
- Arithmatic项目修改总结
Arithmatic项目修改总结 github仓库 arithmatic3.0 一. 修改介绍 修改后类图: 1.关于类的合并 ==可以发现相比右边(旧)的类,左边(新)的类少了很多,这是我这次大改的 ...
- 2017秋软工 —— 本周PSP
1. PSP 2. PSP饼图 3. 累计进度条 4. 累计折线图
- 20172325 2017-2018-2 《Java程序设计》第五周学习总结
20172325 2017-2018-2 <Java程序设计>第五周学习总结 教材学习内容总结 1.布尔表达式的值只有真或假,表达式的结果决定了下一步将要执行的语句. 2.循环语句可以用在 ...
- 使用switchPage.js插件jQuery全屏滚动翻页
1. 先引入jquery.js,再引入switchPage.js 文件地址:点击打开链接 <script src="jquery.min.js"></script ...
- c#窗体移动与窗体阴影效果
//步骤//1.导入代码//2.事件中添加form_1mousedown函数//3.在load函数中定义AnimateWindow语句,注意有两个引用.//4.DllImport若有错误,按shift ...
- java微信开发之接受消息回复图片或者文本
上回说到 接口连接成功,接下来是真正的开发了. 消息的接收,整个过程就是关注订阅号的用户在微信订阅号中发送消息,微信服务器接收到消息,将消息发给开发者的服务器,服务器接收消息然后可以根据内容进行回复. ...
- 作业6 团队项目之需求 (NABCD模型)
N A B C D模型分析 WorkGroup:NewApps 组员:欧其锋(201306114305 http://www.cnblogs.com/ouqifeng/) 吕日荣(20130611 ...
- ubuntu下安装vsftpd及vsftpd配置文件不见的解决办法
利用命令 sudo apt-get install vsftpd //安装 进入etc文件可以找到 vsftpd.conf的配置文件 作为新手难免会弄错配置又不知道怎么办,那么可能会利用 sudo ...
- Mysql分库分表方案,如何分,怎样分?
https://www.cnblogs.com/phpper/p/6937896.html 为什么要分表和分区? 日常开发中我们经常会遇到大表的情况,所谓的大表是指存储了百万级乃至千万级条记录的表.这 ...