Python基础7——模块

news/2025/1/30 15:03:54/文章来源:https://www.cnblogs.com/zjl-linux/p/18694510

1.模块基础知识

  • 内置模块:Python内部提供的功能
    • 如sys模块、os模块
  • 第三方模块:开发者写好,但需要下载后安装使用
    • 安装方法:pip install package_name
    • Windows环境下提前把pip.exe路径添加到环境变量中
    • 升级pip工具:python36 -m pip install --upgrade pip
    • 安装完成后,如果导入不成功可重启Pycharm;如果还报错,大概是安装错了
  • 自定义模块:自己写代码期间由于代码量太多,将部分代码提取成模块,实际上就是个py文件
    • 创建models.py,内有函数f1()和f2()的定义
    • 在导入其他模块.py中调用f1()和f2()
    # models.py
    def f1():print(123)def f2():print(456)# 导入其他模块.py
    import models_testmodels_test.f1()
    models_test.f2()
    

2.os模块

  • os.mkdir() 创建目录,用的不多,无法递归创建子目录
import os
os.mkdir('./file/db')
file_path = r'./file/db/user.txt'
with open(file_path, mode='w', encoding='utf-8') as f:f.write('hello')
  • os.makedirs() 创建目录,递归生成多级目录,使用的多
import os
file_path = r'./file/db/dbb/xx/user.txt'
file_folder = os.path.dirname(file_path) # 获取文件的上级目录
if not os.path.exists(file_folder): # 检查上级目录是否存在os.makedirs('./file/db/dbb/xx')
with open(file_path, mode='w', encoding='utf-8') as f:f.write('hello')
  • os.path.join()
  • os.path.dirname()
  • os.path.abspath()
  • os.path.exists()
  • os.stat('文件路径')
  • os.listdir()
  • os.walk()
  • os.rename(path)
import os
os.rename('./file/db', './file/bb') # 目录重命名

3.sys模块

  • sys.path
    • Python程序在导入模块时,会在安装路径下去寻找模块的位置,查找的具体路径会按照列表sys.path中的路径逐个查找
    • 导入的模块默认会到Python安装目录的Lib目录中找
    • 第三方模块到Lib/site-packages目录中找
    import sys
    for i in sys.path:print(i)
    

  • sys.path.append(r'D:\code')
    • 假设路径'D:\code'下有自定义模块,该指令会将会将对应目录加入到Python默认的模块查找路径中
    • 这样'D:\code'下的模块就可以直接import了

4.json模块

  • json是一个特殊的字符串。【长得像列表/字典/字符串/数字/真假】
    • 序列化:其他数据转为json类型;反序列化:json类型转为其他类型
    • json的最外层必须得是一个列表或字典
    • 在json中如果包含字符串,必须是双引号"",只有Python中字符串可以用单引号,其他语言都是双引号
    • 爬虫用的比较多
    v = [12, 3, 4, {'k1': 'v1'}, True, 'hello']
    import json
    # 序列化:将Python的值转换为json格式的字符串
    v1 = json.dumps(v)
    print(v1) # 单引号全变成双引号v2 = '["alex", 123]'
    print(type(v2))
    # 反序列化:将json格式的字符串转换成Python的数据类型
    v3 = json.loads(v2)
    print(v3, type(v3))
    

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

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

相关文章

本地部署大模型openwebui(ollama部署的deepseetR1)联网搜索的一种解决方案

加入搜索引擎的api就行,本文描述openwebui如何设置Google的api联网搜索你的大部分问题都可以通过看官方文档解决.jpg https://docs.openwebui.com/tutorials/integrations/web_search/ 我尝试了serxing,但是卡在最后搜索上.... 使用这个方案建议:如果用的是windows端的docke…

标题给自己加场戏

新年快乐各位 懒得写学期总结 不会起标题了 铁人两项 昨晚今早做的,补一下题解 就是让你求一个图有多少个三元组 那么,当一个点到另一个点经过点双时,点双里的任何一点都可以作为中转点 所以缩点 但缩完点点双内部就不好处理了 所以给他建成圆方树 圆方树可以做到把简单无向…

如何在本地搭建deepseek(深度探索)

要求:需要一台windows10以上版本的电脑 1.安装ollama打开网址: https://ollama.com/按你的需求下载相应版的ollma,我这就下一个windows版的,一路自动安装即可。2.修改一下ollama的模型model安装位置,默认是C盘 (最大版本容量是400G,磁盘够用的可以跳过)(1) Ollama的模型…

他们知道崩溃即将到来

他们知道崩溃即将到来 克利夫伯格亿万富翁们聚集在特朗普的就职典礼——那些将在崩溃后住在封闭社区的人们 高盛的首席信息官表示,在未来一年,处于前沿的公司将开始使用AI代理人,就像他们是员工一样——作为团队成员分配任务去完成。 他还指出,随着AI通过拥有AI大脑的机器人…

Cisco NX-OS System Software - ACI 16.1(1f)F - 适用于 ACI 模式下的 Nexus 9000 系列交换机系统软件

Cisco NX-OS System Software - ACI 16.1(1f)F - 适用于 ACI 模式下的 Nexus 9000 系列交换机系统软件Cisco NX-OS System Software - ACI 16.1(1f)F 适用于 ACI 模式下的 Cisco Nexus 9000 系列交换机系统软件 请访问原文链接:https://sysin.org/blog/cisco-aci-16/ 查看最新…

Cisco APIC 6.1(1f)F - 应用策略基础设施控制器

Cisco APIC 6.1(1f)F - 应用策略基础设施控制器Cisco APIC 6.1(1f)F - 应用策略基础设施控制器 Application Policy Infrastructure Controller (APIC) 请访问原文链接:https://sysin.org/blog/cisco-apic-6/ 查看最新版。原创作品,转载请保留出处。 作者主页:sysin.org思科…

【译】轻松评估 AI 应用程序的质量

原文 | Wendy Breiding 翻译 | 郑子铭 在构建利用 AI 的应用程序时,能够有效地评估 SLM(小型语言模型)或 LLM(大型语言模型)的响应从未如此重要。 评估是指评估 AI 模型(例如 SLM 或 LLM)生成的响应的质量和准确性的过程。这涉及使用各种指标来衡量 AI 生成的响应的相关…

又在折磨自己

不是吕波是滤波过年好,但我最近真的好想死,听说卡尔曼吕波很重要,为了让自己死得快一点来学学卡尔曼吕波,我对我接下来的半个月充满了绝望。 新年第一天就这么丧可不好,振作起来,人活着总要学会开开心心的,然后少管一些不开心的事情,其实别人也并没有很重要对不对,希望…

Quid faciam?

「先生、人生相談です。 この先どうなら楽ですか。 そんなの誰もわかりはしないよなんて言われますか。 ほら、苦しさなんて欲しいわけない。 何もしないで生きていたい。 青空だけが見たいのは我儘ですか。 」每到这种时候都感觉要撑不住了。 此时此刻眼眶就不禁为黏糊糊的透明…

【牛客训练记录】牛客2025年除夕娱乐赛

训练情况赛后反思 据说是临时准备的,今年好像没啥乐子题,除了两道猜猜题 A题 构造一个字符串使得 jiaran 子串至少出现 114514 次,直接输出 114514 次 jiaran点击查看代码 #include <bits/stdc++.h> // #define int long long #define endl \nusing namespace std;voi…

互联网不景气了那就玩玩嵌入式吧,用纯.NET开发并制作一个智能桌面机器人(三):用.NET IoT库控制舵机并多方法播放表情

前言 前面两篇文章讲了.NET IoT相关的知识点,以及硬件的GPIO的一些概念,还有点亮两个屏幕的方法,这些让大家对.NET的用途有了新的认识,那我们这回继续讲解.NET IoT的知识点,以及介绍一些好玩的东西,例如让视频通过机器人的屏幕播放起来,还有机器人的身体也能通过我们的代…