目录

sys模块

sys.argv()

sys.exit(0)

sys.path

sys.modules


sys模块负责程序与python解释器的交互,提供了一系列的函数和变量,用于操控python的运行时环境。

sys模块

sys.argv()

该方法实现从程序外部向程序传递参数 ,sys.argv 变量是一个包含了命令行参数的字符串列表,,利用命令行向程序传递参数。 其中,脚本的名称总是 sys.argv 列表的第一个参数,也就是sys.argv[0]。

import sys
print(sys.argv)
print(sys.argv[0])
print(sys.argv[1])
print(type(sys.argv)) def Test(num):
num=int(num)
print(num**2)
if __name__=='__main__':
Test(sys.argv[1]) 我们执行该文件: python test.py 10
['test.py','10']
test.py
10
<class 'list'>
100
可以看到,sys.argv[0]永远是模块的名字,从sys.argv[1]开始就是我们输入的参数

sys.exit(0)

功能:执行到主程序末尾,解释器自动退出,但是如果需要中途退出程序,可以调用 sys.exit() 函数,带有一个可选的整数参数返回给调用它的程序,表示你可以在主程序中捕获对 sys.exit 的调用。(0是正常退出,其他为异常)

sys.path

功能:获取指定模块搜索路径的字符串集合,可以将写好的模块放在得到的某个路径下,就可以在程序中import时正确找到。也就是环境变量。返回一个列表

import sys
print(sys.path)
####################################################################
['', 'C:\\Users\\17250\\.spyder-py3\\work', 'G:\\Python3', 'G:\\Anaconda3-5.3.0\\python37.zip', 'G:\\Anaconda3-5.3.0\\DLLs', 'G:\\Anaconda3-5.3.0\\lib', 'G:\\Anaconda3-5.3.0', 'G:\\Anaconda3-5.3.0\\lib\\site-packages', 'G:\\Anaconda3-5.3.0\\lib\\site-packages\\win32', 'G:\\Anaconda3-5.3.0\\lib\\site-packages\\win32\\lib', 'G:\\Anaconda3-5.3.0\\lib\\site-packages\\Pythonwin', 'G:\\Anaconda3-5.3.0\\lib\\site-packages\\IPython\\extensions', 'C:\\Users\\17250\\.ipython']

sys.modules

功能:sys.modules是一个全局字典,该字典是python启动后就加载在内存中。每当程序员导入新的模块,sys.modules将自动记录该模块。当第二次再导入该模块时,python会直接到字典中查找,从而加快了程序运行的速度。它拥有字典所拥有的一切方法

sys.stdin、sys.stdout、sys.stderr

stdin、stdout 和 stderr 在Python中都是文件属性对象, 他们在python启动时自动与shell环境中的标准输入, 输出, 出错相关. 而python程序在shell中的I/O重定向是由shell来提供的,与python本身没有关系。python程序内部将stdin, stdout, stderr读写操作重定向到一个内部对象.

import sys
sys.stdout.write("hello,word!")
#################
hello,word!

最新文章

  1. Magento1.9批量修改产品 Attribute Set
  2. Debian 7 安装 wireshark
  3. oracle 读书笔记
  4. RC上电复位时间计算
  5. (C# Debug)A first chance exception of type &#39;System.ArgumentException&#39; occurred in System.Data.dll
  6. 慕课网-安卓工程师初养成-2-2 认识Java标识符
  7. SimpleDateFormat使用详解
  8. javascript基础之自执行函数
  9. ios不同版本下的UILabel自动换行问题
  10. http协议详解(超详细)
  11. VB6之反编译工具VBRezQ
  12. void类型及void指针(转载)
  13. hdu5115 Dire Wolf
  14. JAVA程序调试
  15. WEB前端面试2014阿里旺旺
  16. Python 中的垃圾回收机制--备忘
  17. 【opencv基础】imwrite函数与图像存储质量
  18. 关于linux 内存碎片指数
  19. POJ 2976 Dropping tests (0/1分数规划)
  20. 通过 Lua 扩展 NGINX 实现的可伸缩的 Web 平台OpenResty&#174;

热门文章

  1. Python3基础-目录
  2. PTA甲级—常用技巧与算法
  3. 2020年12月-第02阶段-前端基础-CSS初识
  4. &amp;#128681;数分工作了三年,我干了件很酷的事情
  5. java内部类 的理解
  6. Tomcat搭建配置
  7. Docker 专题总结
  8. java例题_33 等腰输出杨辉三角
  9. vue-i18n 国际化语言切换
  10. 结对编程-stage_2