当前位置: 首页 > news >正文

有关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(&#xff0…...

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项目&#xff0c;我们导入相关的jar包 相关依赖&#xff1a; <dependency><groupId>mysql</groupId><artifactId>mysql-connector-java</artifactId><version>5.1.47</version></dependenc…...

STM32存储左右互搏 SPI总线读写FLASH W25QXX

STM32存储左右互搏 SPI总线读写FLASH W25QXX FLASH是常用的一种非易失存储单元&#xff0c;W25QXX系列Flash有不同容量的型号&#xff0c;如W25Q64的容量为64Mbit&#xff0c;也就是8MByte。这里介绍STM32CUBEIDE开发平台HAL库操作W25Q各型号FLASH的例程。 W25QXX介绍 W25QX…...

【EI会议征稿】第四届计算机网络安全与软件工程国际学术会议(CNSSE 2024)

第四届计算机网络安全与软件工程国际学术会议&#xff08;CNSSE 2024&#xff09; 2024 4th International Conference on Computer Network Security and Software Engineering 第四届计算机网络安全与软件工程国际学术会议&#xff08;CNSSE 2024&#xff09;将于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 高级设置&#xff0c;找到centos 虚拟机使用的网卡 2、看网卡的其他属性 3、按照红圈部分&#xff0c;配置成一样的就行 4、进入到虚拟机配置中&#xff0c;配置成如图一样的NAT模式 5、再进入编辑 -》虚拟网络编辑…...

Flutter vs 前端 杂谈:SliverAppBar、手动实现Appbar、前端Html+JS怎么实现滚动变化型Appbar - 比较

Flutter vs 前端 杂谈 SliverAppBar的弹性背景的显隐效果使用HtmlJS怎么实现 作者&#xff1a;李俊才 &#xff08;jcLee95&#xff09;&#xff1a;https://blog.csdn.net/qq_28550263 邮箱 &#xff1a;291148484163.com 本文地址&#xff1a;https://blog.csdn.net/qq_28550…...

Qt 二维码生成与识别

1.简介 QZXing是一个基于Qt框架的二维码解码库&#xff0c;它是对ZXing&#xff08;Zebra Crossing&#xff09;开源项目的一个Qt封装。ZXing是一个功能强大的开源二维码解码库&#xff0c;支持多种类型的码&#xff0c;包括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…...

电路布线问题动态规划详解(做题思路)

对于电路布线问题&#xff0c;想必学过动态规划的大家都很清除。今天就来讲解一下这个动态规划经典题目。 目录 问题描述输入分析最优子结构代码 问题描述 在一块电路板的上、下2端分别有n个接线柱。根据电路设计&#xff0c;要求用导 线(i,π(i))将上端接线柱与下端接线柱相…...

webpack 的 Loader 和 Plugin 的区别,常见的 loader 和 plugin 有哪些?

结论先行&#xff1a; 1、 Loader 和 Plugin 的区别 Loader 也叫做就是“加载器”&#xff0c;因为 webpack 原生只能解析 js 文件&#xff0c;而对于其他类型文件&#xff0c;则需要借助 loader。所以 loader 的作用就是实现对不同格式文件的解析和处理&#xff0c;例如把 E…...

云计算实战项目之---学之思在线考试系统

简介&#xff1a; 学之思开源考试系统是一款 java vue 的前后端分离的考试系统。主要优点是开发、部署简单快捷、界面设计友好、代码结构清晰。支持web端和微信小程序&#xff0c;能覆盖到pc机和手机等设备。 支持多种部署方式&#xff1a;集成部署、前后端分离部署、docker部…...

研究生学术与职业素养讲座MOOC---期末复习(1-15)

目录 单选题多选题填空题判断题 单选题 我国制造科学与技术与工业发达国家相比的阶段性差距不包括&#xff1a;人工成本高不属于面向产业的学科&#xff1a;哲学哪个国际前沿本讲未提&#xff1a;纳米技术早期的科学研究不分学科是以达芬奇为例说的待遇不是管理者与领导者的区…...

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

最近发现一个需求&#xff0c;可以用openCV来实现&#xff0c;碰巧又新买了mac笔记本&#xff0c;就打算利用业余时间安装下openCV。这里将主要步骤记录下&#xff0c;希望能帮助有需要的人。 1、准备编译环境 #查询编译opencv相关依赖 brew info opencv查询结果如下图所示&a…...

pytest中的pytest.ini

[pytest] filterwarnings ignore::DeprecationWarning addopts -v -s markers uat:1 smok:2 log_cli1 xfail_strict True filterwarnings ignore::DeprecationWarning 这个的功能就是 test_login.py::Test_login::test_login_correct_password PASSEDwarnings summary …...

C#通过TCP发送List<string>

using System; using System.IO; using System.Net.Sockets; using System.Text; using System.Collections.Generic;public static void SendList<string>(Stream stream, List<string> list) {// 将List<string>对象转换为字节数组byte[] data Encoding.U…...

Mactracker for mac(硬件信息查询工具)免费下载

想知道你电脑的信息吗&#xff1f;Mactracker Mac版是Macos上一款硬件信息查询工具&#xff0c;可以查询电脑中的硬件信息&#xff0c;还可以查看您使用软件的具体情况&#xff0c;苹果电脑产品和周边产品的信息&#xff0c;售价等等&#xff0c;让您对电脑有更多深刻的了解。 …...

MES管理系统中常规的生产建模有哪些

随着制造业的快速发展&#xff0c;MES生产管理系统已经成为了现代制造业不可或缺的核心系统。MES通过对生产过程进行建模&#xff0c;实现了生产过程的可视化、可控制和可优化&#xff0c;为企业提供了全方位的生产管理解决方案。本文将深化对MES管理系统及其主要生产模型的理解…...

电商API:淘宝京东拼多多1688多电商平台的商品销量库存信息获取

item_get 获得淘宝商品详情 获取APIkeyitem_get_pro 获得淘宝商品详情高级版item_review 获得淘宝商品评论item_fee 获得淘宝商品快递费用item_password 获得淘口令真实urlitem_list_updown 批量获得淘宝商品上下架时间seller_info 获得淘宝店铺详情item_search 按关键字搜索淘…...

EPLAN软件中的术语-主数据‘’技术分享

在EPLAN中&#xff0c;主数据(Master Data)这个词被经常、反复地提及&#xff0c;我曾经困惑了很长时间&#xff0c;不得要领。在EPLAN的帮助系统中&#xff0c;它列举了一部分内容&#xff0c;说这些这些就是主数据&#xff0c;但没有解释什么是主数据&#xff0c;除了上面这些…...

web应用程序、Django框架的学习

web应用程序 什么是web? Web应用程序是一种可以通过Web访问的应用程序,用户只需要有浏览器即可&#xff0c;不需要再安装其他软件 案例&#xff1a; 淘宝网、京东网、博客园、等都是基于web应用的程序 应用程序有两种模式C/S、B/S。C/S是客户端/服务器端程序&#xff0c…...

【c++之设计模式】组合使用:抽象工厂模式与单例模式

简介 学以致用&#xff0c;使用抽象工厂及单例模式创建不同轿车及轿车装饰品。 代码 定义一个抽象工厂类来创建不同类型的轿车和轿车装饰品。抽象工厂类中具有创建不同类型轿车和轿车装饰品的纯虚方法。 abstractFactory.h #pragma once#include "Car.h" #inclu…...

Adobe Photoshop Elements 2024 v24.0 简体中文版 | 中文直装版

下载&#xff1a; http://dt1.8tupian.net/2/29913a53b500.pg3介绍&#xff1a;Photoshop Elements 2024(简称PSE即PS简化版)是一款定位在数码摄影领域的全新的图像处理软件&#xff0c;该软件包括了专业版的大多数特性&#xff0c;只有少量的简化选项&#xff0c;提供了调整颜…...

seata事务回滚引起的skywalking数据库存储空间剧增的问题排查

基本信息 产品名称&#xff1a;ATS3.0 问题分类&#xff1a;编码问题 环境类型&#xff1a;环境无关 问题现象 11月1日上午华润DBA收到数据库磁盘空间告警&#xff0c;检查后发现skywalking连接的mysql数据库占用空间从之前一直是比较稳定的&#xff0c;但是10月31日…...