- https://blog.csdn.net/qq_16555103/article/details/84034298 ------- 异常处理
- https://blog.csdn.net/qq_16555103/article/category/8379758 ------- 常见的模块
一、模块简介:
- 特点:① 每一个 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的文件才会被认作是一个包,才能到导入成功
- ③ 在导入包的时候,Python会从sys.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 ------- 文件处理方式