3.Python学习:模块\包\yaml

1.模块与包–互相引用

在这里插入图片描述

(1)一个模块就是一个.py文件
(2)有模块的目录–文件夹
(3)包:文件夹包含__init__.py文件
(4)导入包时,init.py文件里的内容会执行一次

import 包名

2.导入模块函数

(1)将模块里的函数全部导入,缺点:占内存

fromimport 模块
-- 调用模块中的函数:模块名.函数名
from datas import test1
print(test1.sumdata(1,2))

datas/test1.py与导入的文件不在一个文件夹里
在这里插入图片描述

(2)定向导入模块中的函数

from 模块 import 函数
-- 调用模块中的函数:直接使用函数名()调用
from test1 import sumdata
from.模块 import 函数
-- 调用模块中的函数:直接使用函数名()调用
from datas.test1 import sumdata
print(sumdata(1,2))

(3)导入模块与被导入模块在同一层时

import 模块
-- 调用模块中的函数:模块名.函数名()调用
import test1
print(test1.sumdata(1,3))

(4)导入上级包中的模块

from 上级包.import 模块
-- 如果要导入的包在当前文件的上层,要加上那一层的层级

(5)当函数重名时,导入函数起别名

from A import A as a1
from B import A as a2

3.主函数

与java主函数类似,但不同:

  • java必须有主函数,否则编译不通过
  • python可有可无,若有则表示以下代码仅在本模块执行
if __name__=='__main__':
	print(__name__)#__main__
说明:__name__如果是本模块调用,值是main,如果是用其他模块调用,值是文件名
作用:调试代码写里边,别人调用时就不会打印main里的代码。不会影响其他人调用
if __name__=='__main__':
    from datas.test1 import sumdata
    print(test1.__name__)# test1

4.标准路径

python找文件时在标准路径找

(1)导入标准路径

import sys
for one in sys.path://sys.path是标准路径,列表
	print(one)

在这里插入图片描述
优先级:当前路径>工程路径>其他标准库路径

  • 第一个是当前路径,第二个是工程路径,之后是其他标准路径
  • 所有第三方库放在 python的libsite-packages
  • python文件取名时要注意尽量不要和标准库文件重名,否则导入标准库时,会出现问题

(2)把其他文件添加到标准路径

sys.path是列表,因此可以添加值。只添加一次,不是永久添加
在这里插入图片描述

import sys
sys.path.append('D:\codeZM\AutoDemo')
print(sys.path)
import test1
print(test1.sumdata(1,2))# 3

不能写为from AutoDemo import test1,因为当前视角在AutoDemo,AutoDemo下没有AutoDemo,可以修改标准路径为:D:\codeZM

import sys
sys.path.append('D:\codeZM')
print(sys.path)
from AutoDemo import test1
print(test1.sumdata(2,2))

5.安装第三方库

在这里插入图片描述

(1)安装方式

第一种:cmd命令安装(以管理员身份运行)

在这里插入图片描述

第二种:软件安装

(1)pycharm-【settings】-【project】-【Python Interpreter】-【点+号】
(2)新版:控制台【底部Python Packages 】-【添加源】

6.常用pip命令

查看安装了哪些库:pip list
安装指定版本:pip install selenium==3.14.1
卸载第三方库:pip uninstall 第三方库名

7.常用第三方库

xlrd  读取excel
xlwings 写入excel
requests 爬虫
loguru 日志
pytest 测试框架

8.yaml

yaml是第三方库,也需要安装:
pip install pyyaml
在这里插入图片描述

(1)语法格式

在这里插入图片描述

1)yaml中的字符串

在这里插入图片描述

"Hello\nworld"
import yaml
with open('./yamlFIle/test.yaml') as file1:
    text=yaml.load(file1,Loader=yaml.FullLoader)
    print(text)
说明:
双引号:"Hello\nworld"   ==读取==》Hello
								 world
单引号:'Hello\nworld'   ==读取==》Hello\nworld
不加引号:Hello\nworld   ==读取==》Hello\nworld

在这里插入图片描述

2)yaml中的列表

在这里插入图片描述
不加空格按照负数解释

- 10
- 20
-
  - 1
  - 2
with open('./yamlFIle/list.yaml') as file1:
    text=yaml.load(file1,Loader=yaml.FullLoader)
    print(text)

在这里插入图片描述

3)yaml中的字典

value前有空格,不加空格按照字符串解释
在这里插入图片描述

A:
 name1: Paul
B: book
import yaml
with open('./yamlFIle/dict.yaml') as file1:
    text=yaml.load(file1,Loader=yaml.FullLoader)
    print(text)

在这里插入图片描述

3)yaml中数据格式混着放

在这里插入图片描述

- 10
- 10
---
name: tom
age: 10
---
"hello"

在这里插入图片描述

import yaml
with open('./yamlFIle/mix.yaml') as file1:
    text=yaml.load_all(file1,Loader=yaml.FullLoader)
    for one in text:
        print(one)
(2)读取yaml文件load

在这里插入图片描述

import yaml
with open('./yamlFIle/dict.yaml') as file1:
    text=yaml.load(file1,Loader=yaml.FullLoader)
    print(text)
(3)读取多种元素的yaml文件load_all遍历

在这里插入图片描述

import yaml
with open('./yamlFIle/mix.yaml') as file1:
    text=yaml.load_all(file1,Loader=yaml.FullLoader)
    for one in text:
        print(one)
(4)yaml中的变量

在这里插入图片描述

HOST: &HOST 121.41.12.22
url: *HOST
import yaml
with open('./yamlFIle/defVar.yaml') as file1:
    text=yaml.load(file1,Loader=yaml.FullLoader)
    print(text)

在这里插入图片描述

相关推荐

  1. Python学习之路-模块

    2024-07-09 17:20:06       55 阅读
  2. Python 模块

    2024-07-09 17:20:06       50 阅读
  3. python 模块

    2024-07-09 17:20:06       34 阅读
  4. Python模块,库

    2024-07-09 17:20:06       40 阅读
  5. Python模块

    2024-07-09 17:20:06       22 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-07-09 17:20:06       67 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-07-09 17:20:06       71 阅读
  3. 在Django里面运行非项目文件

    2024-07-09 17:20:06       58 阅读
  4. Python语言-面向对象

    2024-07-09 17:20:06       69 阅读

热门阅读

  1. Windows 中修改 MySQL 密码

    2024-07-09 17:20:06       27 阅读
  2. docker部署ES遇到的问题

    2024-07-09 17:20:06       32 阅读
  3. 【功能】UGUI判断是否点击在UI上

    2024-07-09 17:20:06       25 阅读
  4. 代码随想录-DAY④-链表——leetcode 24 | 19 | 142

    2024-07-09 17:20:06       24 阅读
  5. GEE代码实例教程详解:洪水灾害监测

    2024-07-09 17:20:06       19 阅读
  6. ChatGPT-4 对比 ChatGPT-3.5:有哪些优势

    2024-07-09 17:20:06       28 阅读
  7. GitHub:现代软件开发的协作平台

    2024-07-09 17:20:06       30 阅读
  8. 河北有机农业的元宇宙探索:科技赋能绿色农业

    2024-07-09 17:20:06       23 阅读
  9. eval和new Function构造函数时的区别

    2024-07-09 17:20:06       31 阅读
  10. Python 获取数组中连续数据的组数

    2024-07-09 17:20:06       27 阅读