有关python库
官方库
#1、导入某模块
import os
#2、导入OS模块中的system方法
from os import system
#3、导入某模块中的孙子模块中的xx方法,并重命名
from module.xx.xx import xx as rename
#4、导入OS中的所有模块
#不用进行OS.method(),直接method()
#但是不建议使用,因为会造成文件名混乱
from os import *
自建库
参考,有关sys.append()
- 使用sys.path.append()方法可以临时添加搜索路径,方便更简洁的import其他包和模块。这种方法导入的路径会在python程序退出后失效。
当你写了个.py文件,想作为库在另一文件中使用
import my_first_mod
#my_first_mod.sayhi()
python程序中使用 import XXX 时,python解析器会在当前目录、已安装和第三方模块中搜索 xxx,如果都搜索不到就会报错。
因此,还需要将此库的路径加入path,因为默认情况下,python导入文件或者模块,会在sys.path里找模块的路径。如果在当前搜索路径列表sys.path中找不到该模块的话,就会报错。
path里面存着这些路径,每次调用模块都会顺序搜索这些路径(以我现在的路径为例),其中第一行是进程所在的文件路径,每次运行都会把此路径添加进去,所以把库.py文件放在此文件夹下是可以找到的(跟进程.py并列)。
path=[‘d:\0.自主学习\Python基础\乱七八糟的知识点’,
‘E:\1.Tool\0.Miniconda3\python38.zip’,
‘E:\1.Tool\0.Miniconda3\DLLs’,
‘E:\1.Tool\0.Miniconda3\lib’,
‘E:\1.Tool\0.Miniconda3’,
‘E:\1.Tool\0.Miniconda3\lib\site-packages’,
‘E:\1.Tool\0.Miniconda3\lib\site-packages\win32’,
‘E:\1.Tool\0.Miniconda3\lib\site-packages\win32\lib’,
‘E:\1.Tool\0.Miniconda3\lib\site-packages\Pythonwin’, ]
sys.path的用法
- 向sys.path中添加搜索路径
import sys
sys.path.append(path) # path 代表的是一个路径
- 查看当前搜索路径
import sys
print(sys.path)
path=['**d:\\0.自主学习\\Python基础\\乱七八糟的知识点**',
'E:\\1.Tool\\0.Miniconda3\\python38.zip',
'E:\\1.Tool\\0.Miniconda3\\DLLs',
'E:\\1.Tool\\0.Miniconda3\\lib',
'E:\\1.Tool\\0.Miniconda3',
'E:\\1.Tool\\0.Miniconda3\\lib\\site-packages',
'E:\\1.Tool\\0.Miniconda3\\lib\\site-packages\\win32',
'E:\\1.Tool\\0.Miniconda3\\lib\\site-packages\\win32\\lib',
'E:\\1.Tool\\0.Miniconda3\\lib\\site-packages\\Pythonwin', ]
sys.path.append(os.pardir)
python中的__file__变量给出了.py文件的位置
#该函数文件为mnist_show.py
import sys, os
#pardir代表parent directory
sys.path.append(os.pardir)#load_mnist为dataset文件下的mnist.py中的函数
from dataset.mnist import load_mnist

mnist_show.py文件的当前工作目录为ch03,但是load_mnist()函数的mnist.py文件在dataset目录下。因此,mnist_show.py文件不可以跨文件直接导入mnist.py文件。
sys.path.append(os.pardir)语句实际上是把父目录deep-learning-from-scatch加入到sys.path(Python 的搜索目录模块的路径集中),从而可以导入deep-learning-from-scatch下的任何目录(包括dataset目录)中的任何文件。
【大胆推测】:因为路径添加的是…/deep-learning-from-scatch, 所以只能from dataset.mnist 而不是直接 import mnist
print(__file__)
打印之后,即可得到.py的位置d:\0.自主学习\Python基础\乱七八糟的知识点\2、自定义模块.py
常用的方法是结合os.path.abspath(os.path.dirname(file)),得到.py文件的所在目录的绝对路径,从而构造出同目录下另一文件的绝对路径
import os
basedir = os.path.abspath(os.path.dirname(__file__))
abs_path_to_another = (os.path.join(basedir,'another'))
总代码
#导入同级目录
import sys
import os
#file是此文件所在位置
_path=__file__
print(f'path={_path}')
#os.path.dirname()去掉最后一级
base_path=os.path.dirname(os.path.dirname(os.path.dirname(__file__)))
print(f'base_path={base_path}')
print(f'path={sys.path}')
#将相对于此进程的上一级路径添加进path列表
sys.path.append(base_path)
print(f'添加后的path={sys.path}')
#这样再导入此路径下的库就不会报错了
import my_first_mod
#my_first_mod.sayhi()
path=d:\0.自主学习\Python基础\乱七八糟的知识点\2、自定义模块.pybase_path=d:\0.自主学习\Python基础path=['d:\\0.自主学习\\Python基础\\乱七八糟的知识点', 'E:\\1.Tool\\0.Miniconda3\\python38.zip', 'E:\\1.Tool\\0.Miniconda3\\DLLs', 'E:\\1.Tool\\0.Miniconda3\\lib', 'E:\\1.Tool\\0.Miniconda3', 'E:\\1.Tool\\0.Miniconda3\\lib\\site-packages', 'E:\\1.Tool\\0.Miniconda3\\lib\\site-packages\\win32', 'E:\\1.Tool\\0.Miniconda3\\lib\\site-packages\\win32\\lib', 'E:\\1.Tool\\0.Miniconda3\\lib\\site-packages\\Pythonwin'] 添加后的path=['d:\\0.自主学习\\Python基础\\乱七八糟的知识点', 'E:\\1.Tool\\0.Miniconda3\\python38.zip', 'E:\\1.Tool\\0.Miniconda3\\DLLs', 'E:\\1.Tool\\0.Miniconda3\\lib', 'E:\\1.Tool\\0.Miniconda3', 'E:\\1.Tool\\0.Miniconda3\\lib\\site-packages', 'E:\\1.Tool\\0.Miniconda3\\lib\\site-packages\\win32', 'E:\\1.Tool\\0.Miniconda3\\lib\\site-packages\\win32\\lib', 'E:\\1.Tool\\0.Miniconda3\\lib\\site-packages\\Pythonwin', 'd:\\0.自主学习\\Python基础']
相关文章:
有关python库
官方库 #1、导入某模块 import os #2、导入OS模块中的system方法 from os import system #3、导入某模块中的孙子模块中的xx方法,并重命名 from module.xx.xx import xx as rename #4、导入OS中的所有模块 #不用进行OS.method(),直接method(࿰…...
java项目之电影网站(ssm框架)
项目简介 电影网站实现了以下功能: 登录模块用例中用户包括用户和管理员和二种角色,分别可以进行其对应的身份登录或取消登录,关闭系统。用户模块主要包括首页,电影信息,电影商城,社区交流,电…...
技术分享 | app自动化测试(Android)--触屏操作自动化
导入TouchAction Python 版本 from appium.webdriver.common.touch_action import TouchAction Java 版本 import io.appium.java_client.TouchAction; 常用的手势操作 press 按下 TouchAction 提供的常用的手势操作有如下操作: press 按下 release 释放 …...
Java连接数据库并查询表中的全部数据
1、导入相关jar包 这里创建简单的maven项目,我们导入相关的jar包 相关依赖: <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependenc…...
STM32存储左右互搏 SPI总线读写FLASH W25QXX
STM32存储左右互搏 SPI总线读写FLASH W25QXX FLASH是常用的一种非易失存储单元,W25QXX系列Flash有不同容量的型号,如W25Q64的容量为64Mbit,也就是8MByte。这里介绍STM32CUBEIDE开发平台HAL库操作W25Q各型号FLASH的例程。 W25QXX介绍 W25QX…...
【EI会议征稿】第四届计算机网络安全与软件工程国际学术会议(CNSSE 2024)
第四届计算机网络安全与软件工程国际学术会议(CNSSE 2024) 2024 4th International Conference on Computer Network Security and Software Engineering 第四届计算机网络安全与软件工程国际学术会议(CNSSE 2024)将于2024年2月…...
解决pip 安装 pyhash错误
1 pip 安装 pyhash错误 Collecting pyhash (from Calvin0.0.1) Using cached https://pypi.tuna.tsinghua.edu.cn/packages/f0/bf/4db9bed05d10824a17697f65063de19892ca2171a31a9c6854f9bbf55c02/pyhash-0.9.3.tar.gz (602 kB) Preparing metadata (setup.py) … error error:…...
解决 win11 vmware 中centos 网络不能访问外网
解决 win11 vmware 中centos 网络不能访问外网 1、进入win11 高级设置,找到centos 虚拟机使用的网卡 2、看网卡的其他属性 3、按照红圈部分,配置成一样的就行 4、进入到虚拟机配置中,配置成如图一样的NAT模式 5、再进入编辑 -》虚拟网络编辑…...
Flutter vs 前端 杂谈:SliverAppBar、手动实现Appbar、前端Html+JS怎么实现滚动变化型Appbar - 比较
Flutter vs 前端 杂谈 SliverAppBar的弹性背景的显隐效果使用HtmlJS怎么实现 作者:李俊才 (jcLee95):https://blog.csdn.net/qq_28550263 邮箱 :291148484163.com 本文地址:https://blog.csdn.net/qq_28550…...
Qt 二维码生成与识别
1.简介 QZXing是一个基于Qt框架的二维码解码库,它是对ZXing(Zebra Crossing)开源项目的一个Qt封装。ZXing是一个功能强大的开源二维码解码库,支持多种类型的码,包括QR码、DataMatrix码、Aztec码等。 QZXing提供了一个…...
jacoco和sonar
目录 jacoco 引入依赖 构建配置修改 单元测试 生成报告 查看报告 报告说明 1. Instructions 2. Branches 3. Cyclomatic Complexity 4. Lines 5. Methods 6. Classes sonar7.7 基础环境 需要下载软件 解压文件并配置 运行启动 jacoco 引入依赖 <dep…...
Django系列之Serializer的source参数使用、自定义序列化方法
数据准备 models.py from django.contrib.auth.models import AbstractUser from django.db import modelsclass Publish(models.Model):name models.CharField(max_length32)city models.CharField(max_length8)email models.CharField(max_length32)def __str__(self):r…...
Java从入门到精通
Java从入门到精通 1. Java概述1.1 Java是什么1.2 为什么用Java1.3 Java能做什么1.4 Java技术体系平台2. Java快速入门2.1 Java开发环境的准备:JDK简介、安装、常用命令如何使用JavaJDK产品的发展史获取JDK如何验证能用javac和java其他常用命令行命令2.2 Java入门程序-HelloWor…...
电路布线问题动态规划详解(做题思路)
对于电路布线问题,想必学过动态规划的大家都很清除。今天就来讲解一下这个动态规划经典题目。 目录 问题描述输入分析最优子结构代码 问题描述 在一块电路板的上、下2端分别有n个接线柱。根据电路设计,要求用导 线(i,π(i))将上端接线柱与下端接线柱相…...
webpack 的 Loader 和 Plugin 的区别,常见的 loader 和 plugin 有哪些?
结论先行: 1、 Loader 和 Plugin 的区别 Loader 也叫做就是“加载器”,因为 webpack 原生只能解析 js 文件,而对于其他类型文件,则需要借助 loader。所以 loader 的作用就是实现对不同格式文件的解析和处理,例如把 E…...
云计算实战项目之---学之思在线考试系统
简介: 学之思开源考试系统是一款 java vue 的前后端分离的考试系统。主要优点是开发、部署简单快捷、界面设计友好、代码结构清晰。支持web端和微信小程序,能覆盖到pc机和手机等设备。 支持多种部署方式:集成部署、前后端分离部署、docker部…...
研究生学术与职业素养讲座MOOC---期末复习(1-15)
目录 单选题多选题填空题判断题 单选题 我国制造科学与技术与工业发达国家相比的阶段性差距不包括:人工成本高不属于面向产业的学科:哲学哪个国际前沿本讲未提:纳米技术早期的科学研究不分学科是以达芬奇为例说的待遇不是管理者与领导者的区…...
kube-prometheus-stack监控k8s1.24+ docker缺少图像
1.24 中 cAdvisor 指标中缺少图像、名称和容器标签 由于 Kubernetes 1.24 已经从 cadvisor 中删除了 docker 插件,因此虽然可以使用 cri-dockerd 来适配容器运行时,但 cadvisor 无法获取有关图像标签等 docker 容器信息。进而导致 grafana 很多图像无数据。解决方法为对 pro…...
【C/PTA——循环结构3】
C/PTA——循环结构3 7-1 二分法求多项式单根1.题目要求2.代码实现 7-2 循环-十进制转化1.题目要求2.代码实现 7-3 梅森数1.题目要求2.代码实现 7-4 单词长度1.题目要求2.代码实现 7-5 21循环-求和31.题目要求2.代码实现 7-6 21循环-金字塔1.题目要求2.代码实现 7-7 循环-杨辉三…...
MAC设备(M1)环境下编译安装openCV for Java
最近发现一个需求,可以用openCV来实现,碰巧又新买了mac笔记本,就打算利用业余时间安装下openCV。这里将主要步骤记录下,希望能帮助有需要的人。 1、准备编译环境 #查询编译opencv相关依赖 brew info opencv查询结果如下图所示&a…...
【Axure高保真原型】引导弹窗
今天和大家中分享引导弹窗的原型模板,载入页面后,会显示引导弹窗,适用于引导用户使用页面,点击完成后,会显示下一个引导弹窗,直至最后一个引导弹窗完成后进入首页。具体效果可以点击下方视频观看或打开下方…...
大话软工笔记—需求分析概述
需求分析,就是要对需求调研收集到的资料信息逐个地进行拆分、研究,从大量的不确定“需求”中确定出哪些需求最终要转换为确定的“功能需求”。 需求分析的作用非常重要,后续设计的依据主要来自于需求分析的成果,包括: 项目的目的…...
HTML 列表、表格、表单
1 列表标签 作用:布局内容排列整齐的区域 列表分类:无序列表、有序列表、定义列表。 例如: 1.1 无序列表 标签:ul 嵌套 li,ul是无序列表,li是列表条目。 注意事项: ul 标签里面只能包裹 li…...
家政维修平台实战20:权限设计
目录 1 获取工人信息2 搭建工人入口3 权限判断总结 目前我们已经搭建好了基础的用户体系,主要是分成几个表,用户表我们是记录用户的基础信息,包括手机、昵称、头像。而工人和员工各有各的表。那么就有一个问题,不同的角色…...
C++ 基础特性深度解析
目录 引言 一、命名空间(namespace) C 中的命名空间 与 C 语言的对比 二、缺省参数 C 中的缺省参数 与 C 语言的对比 三、引用(reference) C 中的引用 与 C 语言的对比 四、inline(内联函数…...
MySQL 8.0 OCP 英文题库解析(十三)
Oracle 为庆祝 MySQL 30 周年,截止到 2025.07.31 之前。所有人均可以免费考取原价245美元的MySQL OCP 认证。 从今天开始,将英文题库免费公布出来,并进行解析,帮助大家在一个月之内轻松通过OCP认证。 本期公布试题111~120 试题1…...
从 GreenPlum 到镜舟数据库:杭银消费金融湖仓一体转型实践
作者:吴岐诗,杭银消费金融大数据应用开发工程师 本文整理自杭银消费金融大数据应用开发工程师在StarRocks Summit Asia 2024的分享 引言:融合数据湖与数仓的创新之路 在数字金融时代,数据已成为金融机构的核心竞争力。杭银消费金…...
Xela矩阵三轴触觉传感器的工作原理解析与应用场景
Xela矩阵三轴触觉传感器通过先进技术模拟人类触觉感知,帮助设备实现精确的力测量与位移监测。其核心功能基于磁性三维力测量与空间位移测量,能够捕捉多维触觉信息。该传感器的设计不仅提升了触觉感知的精度,还为机器人、医疗设备和制造业的智…...
数据结构:递归的种类(Types of Recursion)
目录 尾递归(Tail Recursion) 什么是 Loop(循环)? 复杂度分析 头递归(Head Recursion) 树形递归(Tree Recursion) 线性递归(Linear Recursion)…...
云安全与网络安全:核心区别与协同作用解析
在数字化转型的浪潮中,云安全与网络安全作为信息安全的两大支柱,常被混淆但本质不同。本文将从概念、责任分工、技术手段、威胁类型等维度深入解析两者的差异,并探讨它们的协同作用。 一、核心区别 定义与范围 网络安全:聚焦于保…...
