【Python零基础入门篇 · 26】:内置模块的使用:sys模块、time模块、pyinstall模块(打包py文件以及更换图标)、hashlib模块(加密)

本文涉及的产品
密钥管理服务KMS,1000个密钥,100个凭据,1个月
简介: 【Python零基础入门篇 · 26】:内置模块的使用:sys模块、time模块、pyinstall模块(打包py文件以及更换图标)、hashlib模块(加密)

一、sys模块


1、sys模块的使用


  • sys.getdefaultencoding()——获取系统当前的编码


  • sys.path——返回环境变量的路径,跟解释器有关


  • sys.platform——返回当前系统平台


  • sys.version——查看目前系统python的版本



2、代码演示


导入模块:import sys

1467ea712cb24882995cc6c6b270c0e3.png




二、time模块


1、time.time()—获取时间戳


时间戳:表示从1970年1月1日00:00:00开始到现在按秒计算的偏移量

2b72e50f229c46e694b93dd5511a5102.png


2、time.localtime()—获取一个struct_time对象


546a88a5f280407f86ed8c561561641f.png


struct_time对象各个元素说明


tm_year:年        


tm.mon:月(1-12)    

 

tm_mday:日(1-31)      

 

tm_hour:时(0-23)


tm_min:分(0-59)  

   

tm.sec:秒(0-59)    

 

tm_wday:星期几(0-6,0表示周日)


tm_yday:一年中的第几天(1-366)  

   

tm_isdst:是否是夏令时(默认是-1)  


3、time.asctime()

1560c5832a014061b87fc851da63016a.png


4、time.strftime(格式化字符串,struct_time对象)


  • 将struct_time转换成字符串


fcd309d2de6e410e844ec1ea918f42ef.png


5、time.strptime()—将时间字符串转换成struct_time对象

fbf9097b9b72474cbe128444e939fe3e.png



三、pyinstaller模块


pyinstaller是第三方模块,需要在Terminal输入命令安装:pip install pyinstaller


1、举例代码演示


  • 在Day18.py文件下写入代码

287c44883f7c45cfa04cc3e890c5decb.png


  • 在cmd或Terminal找到文件进行打包。在Terminal下输入打包命令:pyinstaller -F Day18.py(-F——产生单个可执行文件)

e2dda94a1cfc4548af8dd21f9d350527.png


  • 运行打包命令后显示successfully证明打包文件成功

b90b0e74156a4ebc9c2533baef5ce653.png


  • 这是可看到在与Day18.py文件所在的目录下生成了dist文件夹,点击进入文件夹,里面有一个Day18.exe文件,这正是打包好的文件,点击打开它即可运行


8586570587bb45cfa7c916b7fed79304.png


当运行时输入y后运行页面会迅速消失,这是因为在输入y后程序直接输出该输出的内容,然后就结束窗口,这个时间很短,短到还未看到输出内容,窗口就已经关闭了。

cfecfa1952ac4d59b784d9ee951afa52.png

  • 于是我们重新修改代码


9ed3eb66bb6e4d55949f01610ec39f2c.png


  • 重新在Terminal下输入打包命令:pyinstaller -F Day18.py

5341bee114a94cf8b0bfa4fa1906fcb3.png


  • 重新打开打包好的文件Day18.exe

8586570587bb45cfa7c916b7fed79304.png


  • 这时窗口可以停留一段时间,可以看到输出结果

df53007c15bc4573b6e16b3614d86272.png


2、步骤总结


写好代码,不要直接全是print(),建议加个睡眠


打开命令提示符后,在py文件上右键 ——点击属性——查看路径

78a80835d07840d2ad81f18627bff08f.png


  • 在命令提示符中,使用:cd文件名,进入对应的路径下

94e17aee3c584723b7ee321d17bd06df.png


  • 执行pyinstaller -F xx.py,执行完直接回车


579f28e3962e4cd986977d3530031592.png


  • 去对应的文件夹下,找到dist目录,点击里面的xx.exe

29a26063287d461f8eaf557b25dedcdc.png


def3b3c4d7f54ffc9f50a74088ff45f4.png


644a7f1574864c439eca42fa1e61dbbc.png


3、更换图标


  • 首先打开以下网址,将选择尺寸,进行图片转换

JPG转ICO

bb6ad12ccfb54983b9f0b9188ae965da.png

105d67608cd940ce88389ec6c1709027.png

37bd8aa5d8044cc4b3fa79267160da63.png

27c5f317dd284cb5a1f0c025cb61e1f9.png



  • 将压缩包解压并放到项目录下

04bfc1251c704167895452191251808f.png


  • 对文件进行打包


注意:ico和py的文件名一定是英文字母,否则可能导致转换图标失败


pyinstaller -F -i aaa.ico zzz.py


1、pyinstaller (这个是打包exe文件使用的模块)


2、-F(这个是生成exe文件的,F一定要用大写,不然就会失败,所以必须要)


3、-i (这个是用于替换你的图标,把文件图标替换成你想要的样子,可加可不加)


4、aa.ico(这个是你准备好要替换的图标名字+格式,切记用英文,两三个最好,别用单个的字母,有些字母会导致不成功)


5、zzz.py(这个是你的代码文件名字,一定要用英文命名,放在最后)


c0663eb8bd224628bd07e7a6e3282d38.png



四、hashlib模块(加密)


1、hashlib.new()


md5(一种算法):速度很快,生成的结果是固定16字节

e00c292288f2401485a5aeeec9f3b581.png


2、hashlib.md5


hashlib.new 和 hashlib.md5 写法不同,功能一样

4596cf3fc848435ebdc84e5a4ecdb696.png


3、更新hash对象


在原来的对象后追加

1f6a30bc9570484d99eebfb9f7e47bb1.png


相关文章
|
29天前
|
安全 Linux 数据安全/隐私保护
python知识点100篇系列(15)-加密python源代码为pyd文件
【10月更文挑战第5天】为了保护Python源码不被查看,可将其编译成二进制文件(Windows下为.pyd,Linux下为.so)。以Python3.8为例,通过Cython工具,先写好Python代码并加入`# cython: language_level=3`指令,安装easycython库后,使用`easycython *.py`命令编译源文件,最终生成.pyd文件供直接导入使用。
python知识点100篇系列(15)-加密python源代码为pyd文件
|
11天前
|
开发者 Python
Python中__init__.py文件的作用
`__init__.py`文件在Python包管理中扮演着重要角色,通过标识目录为包、初始化包、控制导入行为、支持递归包结构以及定义包的命名空间,`__init__.py`文件为组织和管理Python代码提供了强大支持。理解并正确使用 `__init__.py`文件,可以帮助开发者更好地组织代码,提高代码的可维护性和可读性。
15 2
|
27天前
|
Java Maven 数据安全/隐私保护
如何实现Java打包程序的加密代码混淆,避免被反编译?
【10月更文挑战第15天】如何实现Java打包程序的加密代码混淆,避免被反编译?
41 2
|
27天前
|
Java Python
> python知识点100篇系列(19)-使用python下载文件的几种方式
【10月更文挑战第7天】本文介绍了使用Python下载文件的五种方法,包括使用requests、wget、线程池、urllib3和asyncio模块。每种方法适用于不同的场景,如单文件下载、多文件并发下载等,提供了丰富的选择。
|
28天前
|
数据安全/隐私保护 流计算 开发者
python知识点100篇系列(18)-解析m3u8文件的下载视频
【10月更文挑战第6天】m3u8是苹果公司推出的一种视频播放标准,采用UTF-8编码,主要用于记录视频的网络地址。HLS(Http Live Streaming)是苹果公司提出的一种基于HTTP的流媒体传输协议,通过m3u8索引文件按序访问ts文件,实现音视频播放。本文介绍了如何通过浏览器找到m3u8文件,解析m3u8文件获取ts文件地址,下载ts文件并解密(如有必要),最后使用ffmpeg合并ts文件为mp4文件。
|
1月前
|
JSON 数据格式 Python
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
这篇文章介绍了一个Python脚本,用于统计TXT或JSON文件中特定单词的出现次数。它包含两个函数,分别处理文本和JSON文件,并通过命令行参数接收文件路径、目标单词和文件格式。文章还提供了代码逻辑的解释和示例用法。
41 0
Python实用记录(十四):python统计某个单词在TXT/JSON文件中出现的次数
|
6月前
|
Python
Python中的`os`和`sys`模块:深入解析文件和系统操作
Python是一种强大且易用的编程语言,其内置的`os`和`sys`模块提供了丰富的文件和系统操作功能。这些模块允许Python程序与操作系统进行交互,执行各种任务,如读取和写入文件、获取系统信息、管理目录和文件路径等。
|
3天前
|
机器学习/深度学习 人工智能 TensorFlow
人工智能浪潮下的自我修养:从Python编程入门到深度学习实践
【10月更文挑战第39天】本文旨在为初学者提供一条清晰的道路,从Python基础语法的掌握到深度学习领域的探索。我们将通过简明扼要的语言和实际代码示例,引导读者逐步构建起对人工智能技术的理解和应用能力。文章不仅涵盖Python编程的基础,还将深入探讨深度学习的核心概念、工具和实战技巧,帮助读者在AI的浪潮中找到自己的位置。
|
3天前
|
机器学习/深度学习 数据挖掘 Python
Python编程入门——从零开始构建你的第一个程序
【10月更文挑战第39天】本文将带你走进Python的世界,通过简单易懂的语言和实际的代码示例,让你快速掌握Python的基础语法。无论你是编程新手还是想学习新语言的老手,这篇文章都能为你提供有价值的信息。我们将从变量、数据类型、控制结构等基本概念入手,逐步过渡到函数、模块等高级特性,最后通过一个综合示例来巩固所学知识。让我们一起开启Python编程之旅吧!
|
3天前
|
存储 Python
Python编程入门:打造你的第一个程序
【10月更文挑战第39天】在数字时代的浪潮中,掌握编程技能如同掌握了一门新时代的语言。本文将引导你步入Python编程的奇妙世界,从零基础出发,一步步构建你的第一个程序。我们将探索编程的基本概念,通过简单示例理解变量、数据类型和控制结构,最终实现一个简单的猜数字游戏。这不仅是一段代码的旅程,更是逻辑思维和问题解决能力的锻炼之旅。准备好了吗?让我们开始吧!