首页 > 编程语言 >python--模块导入+路径处理+常见异常类型

python--模块导入+路径处理+常见异常类型

时间:2024-03-17 09:29:42浏览次数:21  
标签:path2 python 路径 -- 导入 模块 path import os

python--模块导入+路径处理+常见异常类型

模块导入

import 模块名

1、导入的是py文件
2、查看python默认找包的目录(了解)

import demo1001
# 调用demo1001模块中的read_str_change_dict函数,并打印结果
print(demo1001.read_str_change_dict())

from 模块名 import 类、变量、函数

from day10.demo1001 import read_str_change_dict
print(read_str_change_dict())

from 模块名 import *

from day10.demo1001 import *
print(read_str_change_dict())

from 项目名.包.py文件名称 import 类、变量、函数

 from  py39.day10.demo1001 import *

导包快捷键

快捷键 windows:alt + 回车

os 模块 路径处理

路径获取

os.path.dirname(file)

返回当前运行的文件所在的路径(绝对路径)

os.path.abspath(‘test.txt’)

返回指定文件的绝对路径

os.getcwd()

返回当前进程的工作目录(相当于Linux里面的pwd)

路径拼接

os.path.join(path1,path2,path3)

不加斜杠,会自动生成(掌握)

res_path = os.path.join(path1,path2,path3)

import os
path1='ningmengban'
path2=r'\api'
path3='\login.html'
res_path = os.path.join(path1,path2,path3)
print(res_path)

手动加\在路径后面,需要转义(了解)

path1=‘ningmengban\’
path2=‘api\’
path3=‘login.html’
res_path = os.path.join(path1,path2,path3)

import os
path1='ningmengban\\'
path2='api\\'
path3='login.html'
res_path = os.path.join(path1,path2,path3)
print(res_path)

手动加\在路径前面(了解)

路径中只有一个\:会找到\开始的路径进行拼接,前面的路径会丢弃掉
路径中有多个\:从最后一个带\路径的开始拼接

目录切换

os.chdir(path)
os.rmdir(path)

魔术方法

1、file;获取运行模块或文件的绝对路径
2、name:获取函数名称
3、doc:获取函数的注释(多行注释)
4、dict:获取对象的所有属性

异常处理

异常的定义

程序执行过程中遇到了错误,无法继续执行了,会出现一些错误提示,这个就是异常

python常见的类型

属性不存在

AttributeError: module ‘os’ has no attribute ‘file_’

找不到变量

NameError: name ‘name’ is not defined

下标越界

IndexError: string index out of range

语法错误

SyntaxError: invalid syntax

key不存在

KeyError: ‘key2’

标签:path2,python,路径,--,导入,模块,path,import,os
From: https://blog.csdn.net/JennyXi2001/article/details/136770233

相关文章

  • python--异常捕获+类的创建+类属性
    异常处理写法一try:可能会报错的代码print(‘不报错执行’)except:print(‘报错的时候执行’)写法二try:#可能报错的代码print(‘不报错执行1’)except:print(‘报错的时候执行’)else:print(‘不报错执行2’)写法三try:#可能报错的代码print(‘不......
  • 从SLC 到 MLC、TLC颗粒
    *以下是个人对相关基础知识的梳理和总结,对于高度专业性的知识个人理解可能会有出入,如果有误,希望各位大佬不吝指教;1.SLC颗粒 (Single-LevelCell)   SLC颗粒每个储存单元只存储一个信息位(即“0”或“1”),因此其存储容量相对较小,单位存储成本相对较高;但也正是由于SLC颗粒的......
  • 小集训
    因为本来写闲话的初衷之一是为了让自己不颓而最近闲话写得少了+颓的多了鉴定为不写闲话导致的开胃小菜gugeguge(看到某人在吃东西):把门打开,知道门上写的啥吗某人:嗯guge:给这些东西都扔了,然后再把门上的字抄50遍…………(过了一会)某人:老师我写完了guge:这下记住了吧某......
  • HDFSDATANODE数据传输详解
    本文主要阐述datanode中一个socket连接接收字节流的构成,帮助datanode的接收与处理数据。注意hadoop版本为3.1.1。写在前面Datanode本质上也是TCPServer,一般的TCPServer接到客户端请求以后会分配一个线程处理,对于Datanode而言,这个线程可以叫做Op处理连接。每个OP连接会多次和客户......
  • JAVA实现大文件分片上传断点续传
    直接上代码importorg.springframework.web.multipart.MultipartFile;importjava.util.concurrent.CompletableFuture;importorg.apache.commons.lang3.StringUtils;importlombok.extern.slf4j.Slf4j;importjava.text.DecimalFormat;importjava.io.*;@Slf4jpublic......
  • 手机端跨域问题
    java后端重定向到前端页面后,前端再次访问后端接口,后端取不到session里面的值了,怎么回事?在Java后端重定向到前端页面后,如果前端再次访问后端接口时,后端无法获取到session里面的值,可能有以下几种可能的原因:Session丢失或过期:如果后端重定向到前端页面后,session可能已经丢......
  • C++发布订阅者模式:实现简单消息传递系统
     概述:这个C++示例演示了发布者-订阅者模式的基本实现。通过`Event`类,发布者`Publisher`发送数据,而订阅者`Subscriber`订阅并处理数据。通过简单的回调机制,实现了组件间松散耦合的消息传递。好的,我将为你提供一个简单的C++实例,演示如何使用发布者-订阅者模式。在这个例......
  • 货车运输(LCA+最大生成树)
    货车运输这题会有重边,又因为求的是尽可能大的边中的最小值,所以我们可以先用最大生成树维护,如何用最大生成树呢?可以用Kruskal和并查集,顺便处理重边,处理完重边后,可以用倍增LCA求两点之间的最大载重量处理重边时,必须把dis在x,y相同情况下大的排在前,以保证最优,用并查集find判断是否......
  • C++文件操作实战:创建、写入、读取、修改文件一应俱全
     概述:此C++示例详解文件操作:创建、删除、判断存在、写入、读取和修改文件内容。清晰演示了常见文件处理方法及源代码实现。以下是一个简单的C++实例,演示如何进行文件操作,包括创建文件、删除文件、判断文件是否存在、向文件写入内容、读取文件内容以及修改文件内容。#include......
  • 查看宝塔mysql二进制文件 mysqlbinlog
    mysqlbinlog执行文件位置/www/server/mysql/binmysql-bin二进制日志位置/www/server/data/#/www/server/data/mysql-bin.000060把二进制导出为.sql文件#建议/www/server/data/mysql-bin.000060文件cp到mysqlbinlog文件执行目录并设置权限为www755./mysqlbinlogmysql-......