Python基础-----sys模块

import sys

  • sys.argv

命令行参数List,sys.argv[0]第一个元素是程序本身路径
'在cmd下,返回一个命令行参数列表,第一个参数sys.argv[0]标识程序本身路径,
sys.argv[1]....标识用户输入的命令或参数'

import sys
sys.argv
command1 = sys.argv[1]
command2 = sys.argv[2]

if command1 == "用户输入的指令1":
   pass

if command2 == "用户输入的指令2":
   pass

作用是,可根据用户输入的指令动态的执行程序

  • sys.exit(n) 退出程序,正常退出时exit(0)
  • sys.version 获取Python解释程序的版本信息
  • sys.maxint 最大的Int值
  • sys.path 返回模块的搜索路径,初始化时使用PYTHONPATH环境变量的值

  • sys.platform 返回操作系统平台名称

模拟进度条

import sys,time
for i in range(10):
    sys.stdout.write('#')  #同print功能,不过可以持续打印,不覆盖
    time.sleep(1)
    sys.stdout.flush() #刷新

这里补充一个我遇到的坑:
在循环中使用time.sleep()使循环阻塞一段时间

import sys,time
for i in range(10):
    print(i,end='')
    time.sleep(1)

预期结果是每间隔1秒输出一个数字
但实际结果是等待10秒后直接输出0-9一整串数字
在网上也没有找到具体原因,我估计是因为sleep()循环加入线程
导致循环完毕之后才输出最终结果
解决方法:
在循环末尾加上一段系统刷新的代码:sys.stdout.flush()
思考:
是不是只有for循环才有这种问题?于是我验证了while循环,发现同for一样
至于尾递归我就没有试过了,有兴趣的可以试试

©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,170评论 0 10
  • 官网 中文版本 好的网站 Content-type: text/htmlBASH Section: User ...
    不排版阅读 9,955评论 0 5
  • 常用模块 认识模块 什么是模块 什么是模块? 常见的场景:一个模块就是一个包含了python定义和声明的文件,文...
    go以恒阅读 6,192评论 0 6
  • 我有一只小笔 种花种草种春风 纸上草木枯荣 四季流转 一季又一季 二十四个节气 如同二十四首小情歌 我用我的小笔 ...
    初夏的时光阅读 1,365评论 14 18
  • 投中研究院近日发布的《2018年区块链投融资报告》指出,政策、经济、社会和技术等多重因素叠加驱动了近年来全球区块链...
    朝云闻清阅读 2,047评论 0 0