找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
python 当中的模块
python当中有模块也有目录
python中的项目包是可以被引入的
python中的目录是不可以被引用的

py 文件也可叫做模块-->模块下面有很多组织好胡方法--变量,函数,类
导入模块的方法它是用import进行导入模块当中胡方法进行引用
"""

"""
我想在当前模块引用test.py文件当中的方法变量,可以进行import引入当前模块进行使用该模块的方法

"""
# #引入模块的方法:
# import demo.lianxi04
# print(demo.lianxi04.function())
# #方法二:
# from demo.lianxi04 import function    #直接导入指定方法,不要通过模块名称进行调用
# function()          #直接调用lanxi04模块当中的方法
#f方法三:导入该模块下面的所有方法 *
# from demo.lianxi04 import *
# print(a)
# function()

# #方法四:导入指定需要用到的方法,多个方法   用逗号隔开
# from demo.lianxi04 import function,a  #导入指定的方法
# function()
# print(a)
# #方法五:
# from demo import day03,lianxi04      #同时引入多个模块
# print(day03.dict2)
# lianxi04.function()

# # 导入模块,就要通过模块名称进行调用模块方法
# #例子:
# print(lianxi04.list1)

""""
注意:一个模块只会被导入一次,不管悄执行多少次import,这样可以防止导入的模块被一遍又一遍的执行
"""
"""
python当中的模块分为两种类型:
第一种:python
第二种:其他程序员进行封装模块-->第三方模块
python当中的内建模块:
time :模块
"""
# from time import *
#import time
# print(time())           #从1970到现在经历的秒速

"""sleep方法:固定等待的方法:"""
# print("hello")
# sleep(3)     #单位
# print("work")

# print(strftime("%Y:%m:%d-%H:%M:%S"))
# print(asctime())       # Mon Jan 10 10:40:43 2022   格式化输出时间
# print(ctime())        #Mon Jan 10 10:40:43 2022  格式化输出时间

"""
%Y  Year with century as a decimal number.
%m  Month as a decimal number [01,12].
%d  Day of the month as a decimal number [01,31].
%H  Hour (24-hour clock) as a decimal number [00,23].
%M  Minute as a decimal number [00,59].
%S  Second as a decimal number [00,61]
CTRL +鼠标左键
"""

"""copy:
深拷贝以及浅拷贝:
"""
# from copy import deepcopy,copy
# """深拷贝:deepcopy :"""
# list1 = ["武汉多测师","上海多测师",["深圳多测师"],"成都多测师"]
# list2 = deepcopy(list1)       #进行深拷贝list1的数据
# print(list1)
# print(list2)
# print(id(list1))               #36414968
# print(id(list2))               #35933840
# """在深拷贝完成之后,python会重新分配一个内存地址"""
# """list当中的子集数据节点地址分配情况"""
# print(id(list1[2]))      #27107160
# print(id(list2[2]))       #22298496
#
# list1[0] = "武汉10班"
# list2[2][0] = "无语"
# print(list1)
# print(list2)
# print(id(list1[2]))
# print(id(list2[2]))
# """deepcopy  他copy的对象不光是表面的数据还是包含他的子集数据也会进行copy,copy完成之后python会重新分配新的内存地址,
# 两个之间互不影响"""

# """浅拷贝:copy"""
# from copy import deepcopy,copy
# list1 = ["武汉多测师","上海多测师",["深圳多测师"],"成都多测师"]
# list2 = copy(list1)
# print(list1)
# print(list2)
# print(id(list1))               #28485112
# print(id(list2))               #28003984
# """父级数据层重新分配了内存地址"""
# print(id(list1[2]))      #28086064
# print(id(list2[2]))       #28086064
# """修改父级数据层:"""
# list1[0] = "黄鹤楼"
# print(list1)       #['黄鹤楼', '上海多测师', ['深圳多测师'], '成都多测师']
# print(list2)       #['武汉多测师', '上海多测师', ['深圳多测师'], '成都多测师']
# """修改子集内容:"""
# list1[2][0] = "11111"
# print(list1)        #['黄鹤楼', '上海多测师', ['11111'], '成都多测师']
# print(list2)        #['武汉多测师', '上海多测师', ['11111'], '成都多测师']
# """注意:使用浅拷贝:只会复制第一层的数据,子集数据还是共用一个内存地址就会引起错误,修改第一个数据子集数据,
# 修改第二个子集数据时会互相产生影响"""

"""属于第三方模块-->需要进行下载
1.第一种通过pycharm里面的settings-->project进行下载资源模块
2.通过dos命令窗口使用pip命令进行下载
pip install 资源包名称进行下载
跨域进行下载
也可以使用更换镜像源地址进行下载--> - i https://pypi.douban.com/simple

pip卸载的命令:
pip uninstall 包名 进行卸载
"""

# import xlrd


#第一步:打开这个文件的路径
# book = xlrd.open_workbook(r"C:\Users\szyc\PycharmProjects\wuhan10\demo\wuhan.xlsx")

#第二步:定位他的sheet页面
#方法一:索引的方法进行定位
# sheet = book.sheet_by_index(0)
#方法二:通过sheet页面名称定位
# sheet = book.sheet_by_name("Sheet1")
#方法三:
# sheet = book.sheets()[0]  #返回所有sheet页面的标签,返回一个list
# print(sheet)
# """通过nrows统计页面当中的数据库"""
# rows = sheet.nrows
# print(rows)

"""获取excel里面的数据"""
# result = sheet.row_values(0,0,8)
"""
第一个参数:行的索引
第二个参数:列的起始位置
第三个参数:列的结束位置
"""
# print(result)

# def a(File_Name,Sheet_Name,*Value):
#     book = xlrd.open_workbook(File_Name)
#     sheet = book.sheet_by_name(Sheet_Name)
#     value = sheet.row_values(*Value)
#     return value
# print(a(r"C:\Users\szyc\PycharmProjects\wuhan10\demo\wuhan.xlsx","Sheet1",1,2,8))

# print(a(r"C:\Users\szyc\PycharmProjects\wuhan10\demo\wuhan.xlsx","Sheet1",0,0,8))


"""random 模块:
他是属于python自带的模块方法
"""
# import random
# print(random.random())   #随机生产0-1之间的小数,能取到0但是不能取到1
# print(random.randint(1,10))    #随机生成指定区间范围的值
# print(random.randrange(0,10,2))   #随机生产指定范围的值 第三位参数指步长值,取偶数

# """sample 它可以从序列中随机选取值,组成一个新的list"""
# list1 = [1,2,3,4,5,3,4,5,6,"111","sasdd"]
# print(random.sample(list1,5))
# """choice方法:"""
# str1 = "123@说2345"
# print(random.choice(str1))
# """注意:sample返回的是一个list, choice 返回的是随机的一个值"""
#

# """shuffle :打乱序列的顺序,只能针对列表进行操作"""
# list1 = [1,2,3,4,5,6,7]
# # tuple1 = (1,2,3,4,5,)   #报错
# # str1 = "123456"         #报错
# random.shuffle(list1)
# print(list1)

"""string 模块:python的自带模块"""
# import string
# print(string.digits)   #0123456789  生成0-9的数值
# print(string.ascii_letters)     #生成字母的大小写  abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
# print(string.ascii_letters+string.digits)   #随机生成0-9的数值和字母的大小写

"""md5 对象加密模块--->加密方法
md5只能负责加密-->解密有专门解密网址..  hashlib模块
"""
# str1 = "1234567890"
# import hashlib
#
# md5 = hashlib.md5()
# md5.update(str1.encode("utf-8"))
# print(md5.hexdigest())    #生成加密文件
# """生成一个16进制且32位的加密文件"""

#题目:
#1.使用random 模型随机生成手机号码 封装成函数135   156   188 手机前三位子集定义
import random
#方法一:
# def ww():
#  str1 = "135","156","188"
#  str4 =random.choice(str1)
#  list1 = [1,2,3,4,5,6,7,8,9,0]
#  a = random.sample(list1, 8)
#  a = str(a)
#  b = a.replace(",","").replace("[","").replace("]","").replace(" ","")
#  print(str4+b)
# ww()

# def phone():
#     list1 = ["135","186","155","179","199"]
#     list2 = []
#     list2.append(random.choice(list1))
#     print(list2)
#     for i in range(8):
#         list2.append(str(random.randint(0,9)))
#     print(''.join(list2))
# #方法二:
# import string
# list1 = ["135","186","155","179","199"]
# list2 = []
# list2.append(random.choice(list1))
# num = string.digits
# for i in range(8):
#     list2.append(random.choice(num))
# print(''.join(list2))

#2.使用random 或string 生成6位数随机得验证码(要求包含数字-大小写字母)封装成函数
# import string
# import random
# def ww():
#
#     a = string.ascii_letters+string.digits
#     b = random.sample(a,6)
#     return "".join(b)
#
# #3.使用hashlib 对验证码进行加密(封装成函数)
# import hashlib
# def  mm():
#     md5 = hashlib.md5()
#     md5.update(ww().encode("utf-8"))
#     print(md5.hexdigest())
# mm()

"""os 模块s"""
import  os
"""getcwd() : 获取当前文件(所在位置的)得路径"""

# print(os.getcwd())     #C:\Users\szyc\PycharmProjects\wuhan10\demo

"""isfile:进行判断当前路径是一个文件还是目录,返回得是布尔值 bool值    false 代表目录,true代表文件"""
# print(os.path.isfile(r"C:\Users\szyc\PycharmProjects\wuhan10\demo"))
# print(os.path.isfile(r"C:\Users\szyc\PycharmProjects\wuhan10\demo\day03.py"))
# print(os.path.isfile(r"C:\Users\szyc\PycharmProjects\wuhan10"))

"""isdir :进行判断当前目录是一个目录,返回得是bool"""
# print(os.path.isdir(r"C:\Users\szyc\PycharmProjects\wuhan10\demo"))

"""exists :判断这个文件或者目录是否存在"""
# print(os.path.exists(r"C:\Users\szyc\PycharmProjects\wuhan10\demo"))

"""listdir :列出指定路径下面的所有文件或者是目录
包含隐藏文件都会全部打印出来存储在list当中
"""
# print(os.listdir(r"C:\Users\szyc\PycharmProjects\wuhan10\demo"))

"""split :分割目录或者文件:把最末尾的文件/目录进行分割,返回的是元组tuple"""
# print(os.path.split(r"C:\Users\szyc\PycharmProjects\wuhan10\demo"))
# print(type(os.path.split(r"C:\Users\szyc\PycharmProjects\wuhan10\demo")))

"""join :拼接路径的方法"""
# print(os.path.join(r"C:\Users\szyc\PycharmProjects\wuhan10\demo","wuhan10"))

""" mkdir :创建一个目录"""
# print(os.mkdir(r"C:\Users\szyc\PycharmProjects\wuhan10\demo3"))

"""rename :更改目录名称:"""
# print(os.rename(r"C:\Users\szyc\PycharmProjects\wuhan10\demo3",r"C:\Users\szyc\PycharmProjects\wuhan10\demo2"))

"""显示当前文件的上级路径或者上上级路径:
dirname:
__file__  :当前文件的意思
"""
# print(os.path.dirname(__file__))
# print(os.path.dirname(os.path.dirname(__file__)))
# print(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))



分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册