qt调用import sys库_Python模块之 sys 模块

9c5f45899183a25796a96bad779690a9.png

引入

1.什么是 sys 模块

  • sys 模块是与 Python 解释器交互的一个接口
  • 该模块提供对解释器使用或维护的一些变量的访问和获取
  • 它提供了许多函数和变量来处理 Python 运行时环境的不同部分

174c2f55abee7d12d5183adc87e1642c.gif

一.常见用法介绍

1.sys.argv

  • 实现从程序的外部向程序传递参数
  • 返回的是一个列表, 第一个元素是程序文件名, 第二个元素是程序外部传入的参数
  • 用法演示 :
import sysprint(sys.argv)
test = sys.argv[1]
if test == "shawn":print("i am shawn")
elif test == "song":print("i am song")
  • 在终端运行时传入一个参数

408320447c3467ff33065f28b2db00f5.png

2.sys.path

  • 获取指定模块搜索路径的字符串集合, 返回的是一个列表 (表示可以使用 append或者insert)
  • 可以将写好的模块放入某个路径下, 然后将这个路径添加到 sys.path 里面, import时就可以找到
  • 用法演示 :
import sysprint(sys.path)
'''
['F:Pycharm FilePycharmProjectspython正课day17',
'F:Pycharm File',
'J:PyCharm 2020.2.3pluginspythonhelperspycharm_display',
'K:python37python37.zip',
'K:python37DLLs',
'K:python37lib',
'K:python37',
'K:python37libsite-packages',
'J:PyCharm 2020.2.3pluginspythonhelperspycharm_matplotlib_backend']
'''可以发现是一个列表 (代表着可以使用 "append" 功能向里面添加路径)第一个路径是当前执行文件所在的目录第二个是整个项目的路径, "PyCharm" 的优化 (在别的编辑器上没有,可以忽略)第四个是 "zip" 格式压缩包, 其实它是python解释器,里面放的是内置以及标准库模块其他的一些都是第三方库或者自定义下载的模块
  • 添加路径
import sys
sys.path.append("[文件路径]")例:
import sys
sys.path.append("F:Pycharm FilePycharmProjectspython正课day10")
print(sys.path[-1])  # F:Pycharm FilePycharmProjectspython正课day10

3.sys.exit(n)

  • 退出程序, 正常退出时 sys.exit(0), 其他为异常退出
  • 一般情况下运行到主程序尾部, 解释器就正常退出了, 但如果想要中途退出, 就可以调用 sys.exit 函数

ps : exit()运用在交互式shell中,而sys.exit主要用于程序中,二者功能类似

4.sys.version

  • 获取 Python 解释程序的版本信息
import sysprint(sys.version)
# 3.7.4 (tags/v3.7.4:e09359112e, Jul  8 2019, 20:34:20) [MSC v.1916 64 bit (AMD64)]

5.sys.platform

  • 返回操作系统平台名称
import sysprint(sys.platform)  # win32

6.sys.maxint 与 sys.maxsize

  • 最大的 int 值
  • Python3 中删除了 sys.maxint常量, 因为不再对整数值进行限制
import sysprint(sys.maxint) 
# AttributeError: module 'sys' has no attribute 'maxint'
print(sys.maxsize)
# 9223372036854775807

7.sys.getdefaultencoding( )

  • 获取解释器默认编码
import sysprint(sys.getdefaultencoding())  # utf-8

8.sys.getfilesystemencoding( )

  • 获取内存数据存到文件里的默认编码
import sysprint(sys.getfilesystemencoding())  # utf-8

9.sys.getrecursionlimit( )

  • 获取最大递归层数
import sysprint(sys.encursionlimit())  # 1000

10.sys.setrecursionlimit( )

  • 设置最大递归层数
import syssys.setrecursionlimit(1314)
print(sys.getrecursionlimit())  # 1314

11.sys.stdin.readline( )

  • 标准输入
import sys res = sys.stdin.readline()
print(res)  
songha  # 这是控制台输入的字符串
songha  # 这是 print 输出的字符串 "songhan"

12.sys.stdout.write("xxx")

  • 标准输出 (相比较 print 能更好的控制输出)
import syssys.stdout.write('shawnn')  # Shawn
  • 模拟简单进度条动态加载
import sys , timefor i in range(50):sys.stdout.write("█")time.sleep(0.1)sys.stdout.flush()  # 刷新显示到屏幕上
# ██████████████████████████████████████████████████ 动态的加载进度条

二.模拟进度条打印

 知识储备
'%-50s'  # "%":字符串格式化; "-":左对齐,数字和字符串默认都是右对齐; "50":代表我设置的宽度
'r'  # 表示让光标跳到行首"print"模拟输出进度条效果,宽度是"40",传入的是"█"
print("▌%-40s▌" %'█')
print("▌%-40s▌" %'██')
print("▌%-40s▌" %'███')
print("▌%-40s▌" %'████')
print("▌%-40s▌" %'█████')
'''输出
▌█                                       ▌
▌██                                      ▌
▌███                                     ▌
▌████                                    ▌
▌█████                                   ▌
'''打印百分比"%",第一个是传值,第三个是取消第二个百分号的特殊意义
print('%s%%' %(10))
print('%s%%' %(30))
print('%s%%' %(80))
print('%s%%' %(100))
'''输出
10%
30%
80%
100%
'''使用参数来实现可变宽度
print("▌%%-%ds▌" % 40)  #  "▌%-40s▌"
print(("▌%%-%ds▌" % 40) % "██")
print(("▌%%-%ds▌" % 40) % "███")
print(("▌%%-%ds▌" % 40) % "████")
print(("▌%%-%ds▌" % 40) % "█████")开始实现:
def progress(percent, symbol='█', width=40):if percent > 1:     # 超过 100% 的时候让其停在 1percent = 1     # 可以避免进度条溢出show_progress = ("▌%%-%ds▌" % width) % (int(percent * width) * symbol)print("r%s %.2f%%" % (show_progress, percent * 100), end='')def plan():data_size = 1025                  # 传输数据recv_size = 0                     # 初始值为0while recv_size < data_size:time.sleep(0.1)               # 模拟数据的传输延迟recv_size+=150                # 每次收150percent=recv_size / data_size # 接收的比例 progress(percent, width=40)   # 进度条的宽度50plan()
# ▌████████████████████████████████████████▌ 100.00%

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/433728.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

A20 lvds

LVDS0: 数据线 LVDS0-VP0 LVDS0-VN0 LVDS0-VP1 LVDS0-VN1 LVDS0-VP2 LVDS0-VN2 时钟线 LVDS0-VPC LVDS0-VNC 电源线 插座的1,2,3接电源&#xff0c;最终连到 LCD-PWR 背光 另外背光单独在另一个插座上&#xff0c;LVDS0和LVDS1是一致的。 4…

顺丰快递单号的规律_顺丰快递顺丰快递查询单号查询

查询快递前&#xff1a;请先点击上面蓝字” 顺风快递快件单号查询“关注&#xff0c;关注后即可免费查询快递&#xff01;顺丰快递 顺丰快递查询 顺丰快递单号查询记下货物的订单号码。打开顺丰快递的官方网站。快件追踪中写入要查询的订单号码。输入订单号、验证码…

Java学习笔记—TCP通信

一、TCP通信原理 TCP(Transmission Control Protocol)协议是面向链接的通信协议&#xff0c;即数据传输之前&#xff0c;先在发送端和接收端建立逻辑链接&#xff0c;然后再传输数据&#xff0c;它提供了两台计算机之间可靠无差错的数据传输。TCP通信中必须明确客户端和服务器端…

Python 网页编程- Pyramid 安装测试

http://docs.pylonsproject.org/projects/pyramid/en/1.4-branch/narr/install.html 是我在csdn的博客&#xff1a;http://blog.csdn.net/spaceship20008/article/details/8767884 放在cnblogs做备份 按照介绍操作。 我用的是mint13, python 3.2.3版本。 使用的是virtualenv 开…

qt能使用logback_X04Logback的配置

现如今&#xff0c;基于Java的网站开发明显过于复杂&#xff0c;远超实际工作需要。在Java领域中&#xff0c;大部分的网站开发框架也没有严格的遵循“可重用”原则。动态框架如Rails&#xff0c;Django和TurboGears等的出现&#xff0c;为Java网站开发提供了新思路&#xff0c…

A20 配置

TN92屏的显示配置&#xff1a; screen0_output_type1; screen0_output_mode5; lcd_x800; lcd_y480; lcd_swap0; lcd_dclk_freq33; lcd_hbp46; lcd_ht1055; lcd_vbp23; lcd_vt1050; lcd_lvds_ch1; lcd_lvds_mode0; lcd_lvds_bitwidth0; lcd_lvds_io_cross0; lcd_if0; N101BCG-L…

excel 2007 vba与宏完全剖析_Excel怎么保护自己的劳动成果?强制用户启用宏,再加上这一步...

知识改变命运&#xff0c;科技成就未来。当Excel工作簿中含有VBA代码时&#xff0c;用户在使用时需要启用宏&#xff0c;否则工作簿的某些功能就会失效。或者是编辑的VBA代码含有定期删除指令&#xff0c;为了保证工作簿的安全性&#xff0c;和防止他人禁用宏造成知识产权法受到…

Java学习笔记—Lambda表达式

1、Lambda表达式 Lambda表达式是Java8的新特性。 组成Lambda表达式的三个要素&#xff1a;形式参数&#xff0c;箭头操作符&#xff0c;代码块 Lambda表达式的格式&#xff1a;(形式参数) -> {代码块} //如&#xff1a;(int a, int b) -> {return a b;}形式参数&…

旅途的意义- 献给二十五岁

献给25岁你看过了许多美景你看过了许多美女你迷失在都市里每一分钟的光阴你品尝过夜的都市你看过飘着雨雪的各地你渐渐明白了书本里那些曾经不屑的道理却也在青春的激情里多出了那份胆怯的心情你看到了老板坐在办公室飘窗前&#xff0c;悠然的抽着烟你看到了以前的同学娶妻生子…

Asterisk标准通道变量

在asterisk中&#xff0c;定义了许多变量&#xff0c;或是有些变量能够被其读取。下面给出了它们的列表。在每一个application的帮助文档中&#xff0c;你可以获得更多的信息。所有这些变量都是大写的。 被*标记的变量是内建函数&#xff0c;不能在拨号方案中被设置&#xff0…

angular4输入有效性_Angular 2 用户输入

Angular 2 用户输入用户点击链接、按下按钮或者输入文字时&#xff0c;这些用户的交互行为都会触发 DOM 事件。本章中&#xff0c;我们将学习如何使用 Angular 事件绑定语法来绑定这些事件。以下Gif图演示了该实例的操作&#xff1a;源代码可以在文章末尾下载。绑定到用户输入事…

用python画国旗的程序_用Python的Turtle模块绘制五星红旗

Turtle官方文档 turtle的基本操作 # 初始化屏幕 window turtle.Screen() # 新建turtle对象实例 import turtle aTurtle turtle.Turtle() # 海龟设置 aTurtle.hideturtle() # 隐藏箭头 aTurtle.speed(10) # 设置速度 # 前进后退&#xff0c;左转右转 aTurtle.fd(100) # 前进10…

Java学习笔记——函数式接口

一、函数式接口概述 函数式接口&#xff1a;有且仅有一个抽象方法的接口。 Java中的函数式编程体现就是Lambda表达式&#xff0c;所以函数式接口就是可以适用于 Lambda表达式使用的接口。只有确保接口中有且仅有一个抽象方法&#xff0c;Java中的 Lambda表达式才能顺利地进行推…

windows快捷键

F1 显示当前程序或者windows的帮助内容。 F2 当你选中一个文件的话&#xff0c;这意味着“重命名” F3 当你在桌面上的时候是打开“查找&#xff1a;所有文件” 对话框 F10或ALT 激活当前程序的菜单栏 windows键或CTRLESC 打开开始菜单 CTRLALTDELETE 在win9x中打开关闭程序对话…

最简单的拨号方案

使用模式匹配和通道变量可以构建一个最简单的最通用的拨号方案。 如下&#xff1a; exten > _XXXX,1,Dial(SIP/${EXTEN}) exten > _XXXX,2,Hangup() 模式匹配规则&#xff1a; 模式总是用一个下划线 _开始&#xff0c;它告诉 Asterisk 要做模式匹配&#xff0c;这不是…

tortoisegit图标消失_TortoiseGit文件夹和文件图标不显示解决方法

今天下载一个demo导入之后发现一个问题&#xff0c;提示导入的R包只有系统默认的 没有项目的&#xff0c;可以看下图 这种情况出现呢不多&#xff0c;但是出现了我就记录下&#xff0c;这个先看看R文件是不是还在 点击Gen包 查看 看看R文件是不是还在&#xff0c;打开一看果然不…

丰田pcs可以关闭吗_丰田新款卡罗拉变化这么大 让老车主陷入沉思

【太平洋汽车网 导购频道】小胖是一名95后的汽车编辑&#xff0c;年纪轻轻又从事汽车编辑这一岗位&#xff0c;大家可能会觉得他肯定是一位充满热血、喜欢驾驶、热爱汽车的年轻人&#xff0c;那如果我告诉你小胖的座驾是一辆老卡罗拉(询底价|查参配)&#xff0c;你还会觉得小胖…

Java学习笔记——Stream流

一、Stream流的生成方式 1、collection集合可以用默认方法stream生成流。 如 ArrayList<String> list new ArrayList<String>();list.stream().forEach(); 2、Map集合间接生成 3、数组通过Stream接口的静态方法of(T... values)生成流。二、Stream流的中间操作方法…

Excel VBA遍历文件

休息日&#xff0c;无聊的上Excel Home看看有啥东东可学习&#xff0c;有啥问题能帮帮忙。看到很多帖子都是求助遍历特定文件夹下文件的实现方法。有朋友说03版Excel有FileSearch对象可以遍历文件夹下文件&#xff0c;07版中没有了FileSearch对象&#xff0c;不知如何遍历文件。…

C++中的explicit关键字

在C程序中很少有人去使用explicit关键字&#xff0c;不可否认&#xff0c;在平时的实践中确实很少能用的上。再说C的功能强大&#xff0c;往往一个问题可以利用好几种C特性去解决。但稍微留心一下就会发现现有的MFC库或者C标准库中的相关类声明中explicit出现的频率是很高的。了…