python 模块与包、异常处理、文件处理

一、模块简介:

  •           特点:① 每一个 Python 脚本文件( .py文件 )都可以被当成是一个模块
  •                      ② 

 1、模块的概念:

  •     (1) 每一个 py文件 称作为 一个模块
  •     (2)模块里的代码可以是一段直接模块可以包含直接运行的代码块、类定义、 函数定义或这几者的组合执行
  •               脚本,也可以是一堆类似库函数的代码,从而可以被别的模块导 入(import)调用。

  2、系统模块导入:

import numpy
--------------------------------------------------------------------------
import numpy,pandas,math,re      ------- 同时导入多个模块,用 ‘,’分隔
--------------------------------------------------------------------------
from functools import reduce     
--------------------------------------------------------------------------
from functools import reduce as RD  --------- as 的用法(给模块取别名) 

  3、自定义模块的调用方法:

     (1)sys.path 的 用法:

  •                特点:① sys.path 是系统搜索当前文件的 所有目录路径的列表(只有 文件的目录路径 包含在 列表中才能查找
  •                                到文件) 
  •                           ② sys.path 结果是一个列表 ,可以手动 append 其他文件的 搜索路径

                   目录结构:

import sys                   ---------- 导入sys 模块
print(sys.path)              ---------- 打印当前文件的 目录路径的list
--结果:  ['C:\\Users\\Administrator\\Desktop\\AI_learning\\project_python\\day05模块_异常处理', 'C:\\Users\\Administrator\\Desktop\\AI_learning\\project_python', 'G:\\ProgramData\\Anaconda3\\python36.zip', 'G:\\ProgramData\\Anaconda3\\DLLs', 'G:\\ProgramData\\Anaconda3\\lib', 'G:\\ProgramData\\Anaconda3', 'G:\\ProgramData\\Anaconda3\\lib\\site-packages', 'G:\\ProgramData\\Anaconda3\\lib\\site-packages\\win32', 'G:\\ProgramData\\Anaconda3\\lib\\site-packages\\win32\\lib', 'G:\\ProgramData\\Anaconda3\\lib\\site-packages\\Pythonwin', 'G:\\Program\\PyCharm 2017.3.2\\helpers\\pycharm_matplotlib_backend']
===================================== 手动添加路径 ==========================
sys.path.append('../aaa')    ---------- 添加相对目录路径aaa
sys.path.append('C:\\Users\\Administrator\\Desktop\\AI_learning\\project_python\\aaa') ---------- 添加绝对目录路径aaa

     (2)模块文件与执行文件在同一目录下:

1、直接导入模块名(不加py 后缀名)
import 函数    ---------- 通常不使用中文做模块名
2、通过父级目录 . 的方式:
import day05模块_异常处理.函数

   (3)模块文件与执行文件 不在同一目录下:       

 

第一种方法:from ... import ...(前提:模块的父目录与执行py文件的父目录同级 或在 同一条目录路径)
from aaa import test    --------- 从目录aaa中导入test模块(使用test模块的方法(test.方法名()))
from aaa.test import *  --------- 将模块test中代码全部加载(直接使用: 方法名())
from aaa import *       --------- 报错(因为aaa没有__init__.py文件,他不是一个包)  
==========================================================================================   
第二种方法:通过 sys.path 添加路径
import test             --------- 报错,因为不在同一目录下
--------------- 解决方法:
import sys
sys.path.append('../aaa')   ----- 也可以添加绝对目录路径
import test

二、包的概念:

  •           特点:① 包是一种管理 Python 模块命名空间的形式,采用"点模块名称"。比如一个模块的名称是 A.B, 那么他
  •                           表示一个包 A中的子模块B
  •                      ② 目录中只有包含一个叫做__init__.py的文件才会被认作是一个包,才能到导入成功
  •                      ③ 在导入包的时候,Pythonsys.path的目录来寻找这个包中包含的子目录
  •                      ④ 默认情况下,模块在第一次被导入之后,其他的导入都不再有效

      1、__init__() .py 作用:

                   https://www.cnblogs.com/AlwinXu/p/5598543.html   --------   __init__().py 用法

=======================  __init__().py 文件下管理 模块:===============================
__all__ = ['test','test2']      --------- test 与 test2 都是模块名(不加py后缀)

三、文件处理:open()、with关键字

            https://blog.csdn.net/qq_16555103/article/details/84025145    ------- 文件处理方式

 

 

 

 

 

 

 

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值