""" 导包或导模块: 包:也就是文件夹,在文件夹中有一个文件_init_.py,可以导入保重的内容使用(模块、模块中类和方法) 模块:在python你所定义的所有.py结尾的文件都叫模块(模块中的类和方法) 导包、导模块的关键字:import 、from import selenium from selenium import webdriver #sys:是python提供的一个系统参数模块 import sys 导包、模块的方式: 1、将整个模块(.py文件)导入到当前文件,import somemodule 2、导入模块中的某些方法或者类:from somemodule import somemethod/someclass 3、导入模块中多个方法或者类:from somemodule import somemethod1,somemethod2,... from somemodule import * 4、as运算符的用法,把发乳的方法、类重命名一下(对导入的比较长的方法名或者类名进行重命名) """ import sys import selenium print(sys.path)
\'\'\' input--csv/excel/txt文件,将数据导入到脚本中 output--脚本运行的结果输出到日志.log/.txt 模块的概念: 创建的python文件(.py结尾的文件),模块中定义了类、方法、语句、变量等 模块的作用: 1、把相同类型的方法或者类,放入到一个.py文件 2、更好的组织你的代码 3、模块中是可以定义类、方法、变量和可执行的代码 第一种格式: a、对于导入模块中的变量和语句是可以直接执行的 b、对于导入的方法,需要调用才能执行 c、对于导入的类,需要创建对象,对象调方法才能执行 第二种格式: a、这种结构更具有针对性,你想用导入模块中哪一部分就用哪一部分(变量、方法、类) b、在导入的时候,可以执行语句是直接过来的 c、并且在使用的时候比较方便,直接使用变量、方法名和类名就可以了,不需要使用: 模块名.xxx 如何使用模块: from xxx import yyy --->这种更有针对性 import xxx ---->把模块中定义的所有类和方法的副本拿到文件中 from xxx import yyyyyyyyyy as y 模块名.方法() 模块名.类名() python的标准库Lib 第三方库 site-packages \'\'\' \'\'\' 第一种导入方法: import math import test print(math.sin(math.pi / 2)) print(math.pi) print(test.sum(3, 4)) aa = test.person() aa.printInfo() \'\'\' from test import person aaa = person() aaa.printInfo()
\'\'\' 标准库: python的安装目录/Lib下 sys os 第三方库: selenium:web端自动化测试所需要的包(文件夹(要有一个__init__.py),其中包括很多模块 appium:app端自动化测试的所要的包 BeatifulReportr:把脚本运行结果以比较漂亮的格式输出来(HTML格式) pymysql:帮我们连接数据库,并且可以对数据进行增删改查发包 \'\'\' import sys import os #经常会使用这个模块,获取当前正在编辑的问价所在的文件夹路径 # 就是python的环境变量path pp=sys.path print(pp) # 你写了一个小代码,其中一句代码中需要用到一个文件,如果你给这个文件指定的是绝对路径,写好之后发给我,我是不能运行的 # 为了之后写的脚本更好的扩展,一定是使用相对路径,可以使用下面代码进行获取相对路径 ppp=os.path.dirname(__file__) print(ppp) #c:/Users/Admin/Desktop/学习/python/复习/模块、异常、IO
\'\'\' __name__=="__main__"的用法: __name__是模块的文件名标识,如果在当前文件运行的时候__name__就等于"__main__" 在其他文件(moduleDemo2.py模块)调用的模块(test.py)时候,__name__就等于"__main__",等于导入模块的模块名:test 使用场景: 一般是用在模块的测试代码(模块中的可执行代码要放在这个if语句中) 本模块可以使用这些测试代码,常用在排查问题的时候,直接执行,调试代码能够正常 其他模块导入该模块的时候,就不在执行这个测试代码 \'\'\' # 需求:导入模块的时候,不希望把导入的模块中的可执行代码运行出来 import test # 执行print(__name__)后输出test 其他模块调用我,执行我!!!!
\'\'\' 不同级目录导入模块 \'\'\' import sys sys.path.append("..") # 导入下级模块 from Test1 import test1 print(sys.path)
1、要导入的test1这个文件不再当前目录下(和当前的编辑文件) 解决方法:是不是可以将test1.py的目录加入到sys.path这个列表中,(因为导包时,查询包需要从sys.path里面去找) 操作一: import sys import os path=sys.path #sys.path 返回结果是列表 path.append(r "./") #需要追加的是相对路径,不能用绝对路径 \'\'\' 第一种相对路径的用法:只有使用vscode编写或执行的时候才能用 vscode中有个工程目录:通过file-打开文件夹,这个打开的文件夹就是工程目录,在当前是复习目录 工程目录用 ./ 表示,这个知识点是需要掌握的 第二种相对路径的用法,最保险,获取当前编辑的文件所在的目录,需要用os模块,这种方法必须掌握 dirn=os.path.dirname(__file__) path.append(dirn) 需要获取当前dirn上一级目录 可以使用dirn = os.path.dirname(os.path.dirname(__file__)) 接着将dirn追加到path中 path.append(dirn) \'\'\' print(sys.path) import test1