找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
一、模块
模块可以包含可执行的语句和函数的定义
1、import 语句
import+模块名
导入多个模块:#、import os,time,sys,re
   #、    import os
                 import time
               import sys
在下面使用函数时,模块名.函数名
2、from … import 语句
#、from+模块名+import+指定部分                (没包含进去的不能使用)
在下面使用函数时,函数名
#、使用as引用这个模块的某个功能
from 模块名 import 功能 as m                 (可以使用m来代替)
3、from … import  *  语句
#、* 表示导入模块中所有的不是以下划线(_)开头的名字都导入到当前位置
#、大部分情况下python程序不应该使用这种导入方式,因为*你不知道你导入什么名字,很有可       
        能会覆盖掉你之前已经定义的名字
#、如果使用* 的方式进行了导入,这时只想使用里面的某个或某些功能时,可以使用__all__来
进行约束
在你模块里的开头添加__all__ = ["func3"](表示只使用func3函数)
注意:第一次导入后就将模块名加载到内存了,后续的import语句仅是对已经加载大内存中的模块对
象增加了一次引用,不会重新执行模块内的语句;导入模块其实就是在执行py文件;开辟一块新
内容,将内容加载到内存中
4、导入顺序
#、模块应该一个一个的导入,先后顺序为:内置模块---->扩展(第三方)模块------>自定义模块
#、顺序说明:我们知道导入模块其实就是在执行这个模块,我们不确定扩展模块或自定义模块
     里有没有某个功能调用了内置模块,所以,我们在导入模块时,应先导入解释器内置的模块,       
     然后在导入扩展模块,最后导入自定义模块

二、time模块
1、 time()    #1970到现在的经过的秒数
2、ctime()   #固定格式的当前时间
3、sleep(秒数)   #延迟几秒后继续执行语句
4、asctime()    #转换为asc码显示当前时间
5、strftime('%Y-%m-%d-%H-%M-%S')        #时间格式化

三、random模块
1、random()        #随机生成0开头的浮点数
2、randint(i,j)        #i到j范围内随机取一位
3、randrange(i,j,step)        #i到j范围取一位,步长为step,不取j
4、sample(a,k)        #a为列表或字符串,k为取几位   字符串返回字符串/列表中是字符串就返回字符串
5、choice(a)                #a为列表或字符串                随机取一个值
6、shuffle(a)                #a为列表                随机取洗牌把列表中的值无规律的输出        先洗牌后打印
import randomwhile (random.randint(0,7500000000)!='You'):  # 在75亿茫茫人海中    while (True):print('love you')          # 看见你的第一眼,就永远爱上了你

四、string模块
1、.digits                        0123456789                字符串
2、.ascii_uppercase        ABCDEFGHIJKLMNOPQRSTUVWXYZ                字符串
3、.ascii_lowercase        abcdefghijklmnopqrstuvwxyz                字符串
4、.ascii_letters                abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

五、加密
1、 import hashlib
md5 = hashlib.md5()                创建一个对象:md5
print(md5)
md5.update(b'123456')                通过md5对象来调用update方法对某个值进行加密处理
print(md5.hexdigest())                通过hexdigest将md5加密密码进行十六进制转换输出

六、os模块
# print(os.getcwd())      #获取当前操作文件它对应路径# a_path = 'D:/text.txt'# b_path = 'D:/WPS'# c_path = 'D:\\END'# d_path = r'C:\Users\86158\PycharmProjects\pythonProject1\dcs9'# e_path = r'C:\Users\86158\PycharmProjects\pythonProject1\dcs9\aa.py'# f_path = 'D:/'# g = 'text.txt'# print(os.path.isfile(a_path))       #判断当前是否为文件,返回布尔值是文件则True否者Fals# print(os.path.isfile(b_path))# print(os.path.isfile(c_path))# print(os.path.isfile(d_path))# print(os.path.isfile(e_path))# print('--------------------------------------------------------------')# print(os.path.exists(a_path))       #exists 可以判断文件,也可以判断目录# print(os.listdir(d_path))           #根据路径,输出当前路径下的所有文件/目录# print(os.path.split(a_path))        #分割文件名于目录(元组)# print(os.path.split(a_path)[1])     #取出文件名# print(os.path.join(f_path,g))       #连接目录与文件名# dir = 'D:/dir'# if not os.path.exists(dir):#       os.mkdir(dir)                 #判断文件/目录是否存在,不存在则创建 通过mkdir创建# os.rename(dir,'D:/ddd')             #重命名目录和文件

七、re模块
import rea = 'casskjlkjjj123cbas'b = re.match('ca',a)    # match()函数只检测字符串开头位置是否匹配,匹配成功才会返回结果,否则返回Noneprint(b)                # <re.Match object; span=(0, 2), match='ca'>print(b.span())         # (0, 2)c = re.search('as',a)   # search()函数会在整个字符串内查找模式匹配,只到找到第一个匹配然后返回一个包含匹配信息的对象print(c)                # <re.Match object; span=(1, 3), match='as'>print(c.span())         # (1, 3)索引位格式# findall返回的全是列表d = re.findall('c',a)   # 查找字符,返回所有满足匹配条件的结果,放在列表里print(d)                # ['c', 'c']print(type(d))          # 返回一个列表,没查到返回空列表print(re.findall('^c....j',a))  # ^c开头j结尾    .表示一个   ^匹配开头# ['casskj']print(re.findall('l.j',a))      # l至j的字符# ['lkj']print(re.findall('b.s$',a))     # b至s中间一个   $匹配结尾# ['bas']print(re.findall('sj*',a))      # 符号*:匹配*前面的字符0次或n次 匹配 *前面第一个字符, 其他字符为一个整体匹配# ['kj', 'kjjj']print(re.findall('kj+',a))      # 匹配+前面的字符1次或n次# ['kj', 'kjjj']print(re.findall('kj?',a))      # 匹配?前面的字符0次或1次# ['kj', 'kj']print(re.findall('kj{3}1',a))   # 匹配一个字符(j)m次# ['kjjj1']print(re.findall('kj{1,3}',a))  # 匹配前一个字符(j)m到n次(包括n次),m或n可以省略,mn都是# ['kj', 'kjjj']print(re.findall(r'\d',a))       # 取数字# ['1', '2', '3']print(re.findall(r'\d{3}',a))    # 取数字,每三位放在一起# ['123']print(re.findall(r'\D{5}',a))    # 取非数字,,每五位一起# ['cassk', 'jlkjj']b = 'ab11\n\ra\tyy\r'print(re.findall('\s{2}',b))     # 匹配任意空白字符,[\t\n\r\f],2个一组# ['\n\r']print(re.findall('\S{2}',b))     # 匹配任意非空字符# ['ab', '11', 'yy']print(re.findall('\w{2}',b))     # 匹配字母数字# ['ab', '11', 'yy']print(re.findall('\W{2}',b))     # 匹配非字母数字# ['\n\r']

八、xlrd模块
python操作excel主要用到xlrd和xlwt这两个库,即xlrd是读excel,xlwt是写excel的库
import xlrd                      url = r'D:\xiaofu.xls'            # 文件名以及路径d = xlrd.open_workbook(url)       # 打开Excel文件读取数据print(d.sheet_names())            # 返回列表,里面为所有的sheet表名称  ['Sheet1', 'Sheet2', 'Sheet3']print(d.sheet_by_name('Sheet1'))  # 通过sheet名查找表   Sheet  0:print(d.sheet_by_index(0))        # 通过索引查找表      Sheet  0:print(d.nsheets)                  # 获取表的数量l = d.sheets()[0]                 # 通过索引顺序获取表  与6,7一样可以替换,都返回一个xlrd.sheet.Sheet()对象print(l)                         #                    Sheet  0:print(l.name)          # 表名字(字符串)print(l.nrows)         # 获取表行数print(l.ncols)         # 获取表列数# --------------------------------行的操作---------------------------------------------print(l.row(0))         # 返回第一行单元格值类型和内容组成的列表   [text:'id', text:'name', text:'grade', text:'age']print(l.row(1))         # 返回第二行单元格值类型和内容组成的列表   [number:1.0, text:'asdc', number:100.0, number:10.0]print(l.row_values(0))  # 返回第一行中所有单元格的数据组成的列表   ['id', 'name', 'grade', 'age']print(l.row_values(0,1,3))  # 0表示第一行,1-3表示第一列--第二列,3不取   ['name', 'grade']print(l.row_types(1))   # 返回第二行中所有单元格的数据类型组成的列表  array('B', [2, 1, 2, 2])# ---------------------------------列的操作---------------------------------------------print(l.col(0))         # 返回第一列单元格值类型和内容组成的列表   [text:'id', number:1.0, number:2.0,....]print(l.col_values(0))  # 返回第一列中所有单元格的数据组成的列表   ['id', 1.0, 2.0, 3.0, 4.0, 5.0, 6.0, 7.0, 8.0, 9.0]print(l.col_values(0,2,6))  # 0表示第一列,2-6表示第二列--第五列,6不取   [2.0, 3.0, 4.0, 5.0]print(l.col_types(0))   # 返回第一列中所有单元格的数据类型组成的列表  [1, 2, 2, 2, 2, 2, 2, 2, 2, 2]# ---------------------------------单元格的操作---------------------------------------------print(l.cell(1,2))      # 返回单元格对象     number:100.0print(l.cell_type(1,2)) # 返回单元格中的数据类型     2print(l.cell_value(1,2))# 返回单元格中的数据        100.0# ---------------------------------for取第一行---------------------------------------------for i in range(l.ncols):    print(l.col_values(i)[0])# ---------------------------------for取第一列--------------------------------------------- for i in range(l.nrows):    print(l.row_values(i)[0])     
分享至 : QQ空间
收藏

0 个回复

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