一.标准模块
1、python自带的,import random,json,os,sys,datetime,hashlib等

  ①.正常按照命令:打开cmd,执行:pip install rangdom/json/os/datetime等模块名称

  ②.下载安装包,安装包分两种格式:.whl 和.tar.gz格式,其中:

    .whl安装:pip install xxx.whl

    .tar.gz安装:解压后,执行:python setup.py install

注:若电脑安装了多个版本的python,安装模块的时候,可以执行:

  1. python3 -m pip instatll 模块名
    python2 -m pip instatll 模块名

2、第三方模块

python导入模块的时候的顺序:

1.从当前目录下找需要导入的python文件

    2.从python的环境变量中找(python的安装路径的环境变量)

**导入模块的实质:就是这这个python文件从头到尾执行一遍

两种导入方法,例如:

方法1:

  1. # import fancy #fancy是一个自己写的python文件,其中包含一个my()方法,一个name变量
    # fancy.my() #调用fancy文件的my()方法
    # print(fancy.name) #打印fancy文件的name变量

方法2: 

  1. #from fancy import my,name,
    #my()
    #print(name)

3、自己写的python文件

二.函数返回多个值:
1、函数如果返回多个值的话,它会把这几个值放到一个元组里面

  1. def say():
    num1 = 1
    num2 = 2
    num3 = 3
    return num1,num2,num3
    print(say())
    结果:

2、函数如果返回多个值的话,也可以用多个变量来接收

  1. def say():
    num1 = 1
    num2 = 2
    num3 = 3
    res1,res2,res3 = say()
    print(res1)
    print(res2)
    print(res3)
    结果:

三.列表生成式

#外面是小括号的话,它就不是一个list了,它是一个生成器,

#生成器比list要节省内存,它是每次循环的时候,会根据规则计算一个元素,放到内存里面

#list它是把所有的元素都放在内存里面的

结果:

四.lambda(匿名函数)这个函数的功能简单,只用一次

lambda x: x+1      #冒号后面的是函数体,也是函数的处理逻辑,冒号前面的返回值

比如:对字典里的key或value进行排序:

  1. d = {'a':8,'b':2,'c':3}
    #字典是无序,直接对字典排序是不存在的。
    print(d.items()) #获取字典的k,v:dict_items([('c', 3), ('b', 2), ('a', 8)])
    res = sorted(d.items(),key=lambda x:x[1]) #对字典里的value进行排序
    print(res)
    结果:

五.常用标准模块:

os模块:对操作系统的一些操作

print(os.getcwd())    #获取当前工作目录      结果:C:\Users\Fancy\Desktop\学习笔记\day6

print(os.chdir("../day5"))#更改当前目录    #相对路径:../day5/xx  绝对路径:C:\Users\Fancy\Desktop\学习笔记\day6

os.listdir('e:\\')#列出目录下所有的文件和文件夹

os.remove() #删除文件
os.rename(old,new) #重命名
print(os.sep)#当前操作系统的路径分隔符  
res = os.system('ipconfig') #执行操作系统命令的,但是获取不到结果
res = os.popen('ipconfig').read() #可以获取到命令执行的结果
print(os.path.abspath(__file__))#获取绝对路径

prtint(os.path.abspath('.')#获取当前文件的绝对路径

print(os.path.split("/usr/hehe/hehe/txt"))  #分割路径和文件名    结果:('/usr/hehe', 'hehe.txt')

print(os.path.dirname("e:\\syz\\ly-code"))#获取父目录,获取它的上一级目录   结果:e:\syz

print(os.path.basename("e:\\syz\\ly-code\\a.txt"))#获取最后一级,如果是文件显示文件名,如果是目录显示目录名   结果:a.txt

print(os.path.exists(r"E:\syz\ly-code\day6")) #判断文件或者目录是否存在       True 或False
print(os.path.isfile("xiaohei.py"))   #判断是否是一个文件,1、文件要存在2、必须是一个文件(返回True时)
print(os.path.isdir("e:\\syz1"))#是否是一个路径,目录是否存在
size = os.path.getsize('x.py') #获取文件的大小
os.path.join("root",'hehe','mysql','a.sql') #拼接路径    结果:root\hehe\mysql\a.sql
for abs_path,dir,file in os.walk(r'e:\nhy'):
print(abs_path,dir,file)
# abs_path 当前循环的绝对路径
# dir 目录下面所有的文件夹 [ ]
# file 目录下面的所有文件 []

os.walk小练习:

  1. # 把双数日期的日志,里面给随便写点东西。
    # 1、获取到log目录下面的所有文件 os.walk()
    # 2、根据文件名来判断,是否是双数日期 ,分割字符串,取到日期
    # 3、12%2==0
    # 4、打开这个文件 open()
  1. import os
  2. for abs_path,dir,file in os.walk(r'E:\syz\ly-code\day6\logs'):
  3. for f in file:
  4. day = f.split('.')[0].split('-')[-1]
  5. if int(day)%2==0:
  6. file_name = os.path.join(abs_path,f)#拼接绝对路径
  7. open(file_name,'a+',encoding='utf-8').write('写东西')#

sys模块:

print(sys.platform) #判断操作系统     比如:win32

#python的环境变量

sys.path.append(r'E:\syz\ly-code\day5')

sys.path.insert(0,r'E:\syz\ly-code\day5')

print(sys.path)   #python的环境变量,python的安装包路径

print(sys.argv) #用来获取命令行里面运行python文件的时候传入的参数

os,sys模块小练习:

  1. import sys
  2. import os
  3. command = sys.argv
  4. print(command)
  5. if len(command)>1:
  6. cmd1 = command[1]
  7. if cmd1=='--help':
  8. print('这个是帮助文档'
  9. '这个python文件是用来说明sys.argv的作用')
  10. elif cmd1=='os':
  11. print('当前的操作系统是%s'%sys.platform)
  12. else:
  13. print('输入命令有误')
  14. else:
  15. print('运行python的时候要传入一个参数'
  16. 'e.g '
  17. 'python xx.py install ')

time模块: 

  1. import time
    #1、时间戳 从unix元年到现在过了多少秒
    #2、格式化好的时间 如:年-月-日 时:分:秒
    #先转成时间元组
    # print(time.time()) #获取当前时间戳 结果:1524559130.6626565
    # time.sleep(10) #休眠10s
    #today = time.strftime('%Y-%m-%d %H:%M:%S') 结果:2018-04-24 16:41:44
    #print(today)
    # print(time.gmtime()) #默认取的是标准时区的时间元祖

  1. s=time.localtime(1514198608) #取到的是当前时区的时间元祖

  1. # print(time.strftime('%Y-%m-%d %H:%M:%S',s))

  1. #时间戳转换时间元组
    # 1、时间戳转成时间元组 time.localtime()
    # 2、再把时间元组转成格式化的时间
    写成一个函数:
  1. def timestamp_to_fomat(timestamp=None,format='%Y-%m-%d %H:%M:%S'):
  2. #1、默认返回当前格式化好的时间
  3. #2、传入时间戳的话,把时间戳转换成格式化好的时间,返回
  4. if timestamp: #如果传了时间戳
  5. time_tuple = time.localtime(timestamp) #先转换成元组
  6. res = time.strftime(format,time_tuple) #再转换成格式化时间
  7. else:
  8. res = time.strftime(format) #默认取当前时间
  9. return res
  1. 比如,print(timestamp_to_fomat(197323242,'%Y-%m-%d'))
    格式化好的时间转换成时间戳:
    1.先转成时间元组
    2.再把时间元组转成时间戳
    比如:2018-4-21转成时间戳
    # tp = time.strptime('2018-4-21','%Y-%m-%d') #把格式化好的时间转成时间元组的
    # print(time.mktime(tp)) #mktime()把时间元组转成时间戳
    写成函数:
  1. def strToTimestamp(str=None,format='%Y%m%d%H%M%S'):
  2. #
  3. #默认返回当前时间戳
  4. if str: #如果传了时间的话
  5. tp = time.strptime(str,format) #格式化好的时间,转成时间元组
  6. res = time.mktime(tp)#再转成时间戳
  7. else:
  8. res = time.time() #默认取当前的时间戳
  9. return int(res)
  1. datetime模块
    import datetime
    print(datetime.datetime.today()) #获取当前时间,精确到秒
    print(datetime.date.today()) #精确到天
    res = datetime.datetime.today()+datetime.timedelta(days=1,minutes=5,seconds=5,weeks=5)
    如果是几天/小时/周/秒后的,应该是(days=-1,minutes=-5,seconds=-5,weeks=-5
    print(res.strftime('%Y-%m-%d'))
  1. hashlib模块(加密)
    import hashlib
    m = hashlib.md5()
    # bytes
    passwd = 'NHY_*&^_1982343532'
    # passwd.encode() #把字符串转成bytes类型
    m.update(passwd.encode()) #不能直接对字符串加密,要先把字符串转成bytes类型
    print(m.hexdigest())
    #md5加密是不可逆
    小练习:
  1. def my_md5(str):
  2. import hashlib
  3. new_str = str.encode() #把字符串转成bytes类型
  4. # new_str = b'%s'%str #把字符串转成bytes类型
  5. m = hashlib.md5() #实例化md5对象
  6. m.update(new_str) #加密
  7. return m.hexdigest() #获取结果返回

pymysql模块(操作数据库)

  1. import pymysql
    # 1、连上数据库 账号、密码 ip 端口号 数据库
    #2、建立游标
    #3、执行sql
    #4 、获取结果
    # 5、关闭游标
    #6、连接关闭
    coon = pymysql.connect(
    host='118.24.3.40',user='jxz',passwd='123456',
    port=3306,db='jxz',charset='utf8'
    #port必须写int类型,
    #charset这里必须写utf8
    )
    cur = coon.cursor() #建立游标
    # cur.execute('select * from stu;')#执行sql语句
    cur.execute('insert into stu (id,name,sex) VALUE (1,"fancy","女");')
    # delete update insert
    coon.commit() #必须得coomit
    res = cur.fetchall() #获取所有返回的结果
    print(res)
    cur.close()#关闭游标
    coon.close()#关闭连接
    xlwt模块(操作excel
    import xlwt
    book = xlwt.Workbook() #新建一个excel
    sheet = book.add_sheet('sheet1')#加sheet
    sheet.write(0,0,'姓名')#行、列、写入的内容
    sheet.write(0,1,'年龄')
    sheet.write(0,2,'性别')
    book.save('stu.xls')#结尾一定要用.xls

不常用:

  1. print(os.makedirs("nhy/python"))#递归创建文件夹,父目录不存在时创建父目录
    print(os.mkdir("zll/huangrong"))#创建文件夹,父目录不存在时会报错
    makedirs 创建文件夹的时候,如果父目录不存在会自动帮你创建父目录,如果创建一级时,用哪个都OK
  1. print(os.removedirs("nhy/python"))#递归删除空目录
    print(os.rmdir("test2"))#删除指定的文件夹
    #只能删除空目录
    os.remove("test2")#只能删除文件
    os.rmdir('test2') #只能删文件夹
  1. print(os.stat("x.py"))#获取文件信息
  1. print(os.environ)#当前系统的环境变量
  1. print(os.name)#当前系统名称 Windows系统都是nt linux都是posix
  1. print(os.path.isabs("../day5"))#判断是否是绝对路径
  1.  

常用模块random/os/sys/time/datatime/hashlib/pymysql等的更多相关文章

  1. Python全栈--7模块--random os sys time datetime hashlib pickle json requests xml

    模块分为三种: 自定义模块 内置模块 开源模块 一.安装第三方模块 # python 安装第三方模块 # 加入环境变量 : 右键计算机---属性---高级设置---环境变量---path--分号+py ...

  2. 模块random+os+sys+json+subprocess

    模块random+os+sys+json+subprocess 1. random 模块   (产生一个随机值) import random 1 # 随机小数 2 print(random.rando ...

  3. 常用模块(random,os,json,pickle,shelve)

    常用模块(random,os,json,pickle,shelve) random import random print(random.random()) # 0-1之间的小数 print(rand ...

  4. Python内置模块:random,os,sys,和加密模块hashlib

    random import random    # 导入模块 随机数 import random # 内置的 print(random.random()) #0-1 之间随机小数(18位有效数字) p ...

  5. Python 五个常用模块资料 os sys time re built-in

    1.os模块   os模块包装了不同操作系统的通用接口,使用户在不同操作系统下,可以使用相同的函数接口,返回相同结构的结果.   os.name:返回当前操作系统名称('posix', 'nt', ' ...

  6. python基础之常用模块一(sys、greenlet、pymysql、paramiko、pexpect、configparser)

    一.sys模块(内置模块) 用于提供对解释器相关的操作 import syssys.argv 命令行参数List,第一个元素是程序本身路径 sys.exit(n) 退出程序,正常退出时exit(0) ...

  7. python 常用模块之random,os,sys 模块

    python 常用模块random,os,sys 模块 python全栈开发OS模块,Random模块,sys模块 OS模块 os模块是与操作系统交互的一个接口,常见的函数以及用法见一下代码: #OS ...

  8. day19:常用模块(collections,time,random,os,sys)

    1,正则复习,re.S,这个在用的最多,re.M多行模式,这个主要改变^和$的行为,每一行都是新串开头,每个回车都是结尾.re.L 在Windows和linux里面对一些特殊字符有不一样的识别,re. ...

  9. python笔记-1(import导入、time/datetime/random/os/sys模块)

    python笔记-6(import导入.time/datetime/random/os/sys模块)   一.了解模块导入的基本知识 此部分此处不展开细说import导入,仅写几个点目前的认知即可.其 ...

随机推荐

  1. go & Windows Service

    相关库 https://godoc.org/golang.org/x/sys/windows/svc https://github.com/kardianos/service https://gith ...

  2. 剑指offer-两个链表的第一个公共结点-链表-python

    题目描述 输入两个链表,找出它们的第一个公共结点.   class Solution: def FindFirstCommonNode(self, pHead1, pHead2): # write c ...

  3. PAT Basic 1024 科学计数法 (20 分) Advanced 1073 Scientific Notation (20 分)

    科学计数法是科学家用来表示很大或很小的数字的一种方便的方法,其满足正则表达式 [+-][1-9].[0-9]+E[+-][0-9]+,即数字的整数部分只有 1 位,小数部分至少有 1 位,该数字及其指 ...

  4. PAT Advanced 1065 A+B and C (64bit) (20 分)(关于g++和clang++修改后能使用)

    Given three integers A, B and C in [−], you are supposed to tell whether A+B>C. Input Specificati ...

  5. libboost_regex 备份用时

    libboost_regex-vc100-mt-s-1_57.lib  //生成数据

  6. QKeyEvent

    #include<QKeyEvent>键盘事件由两个重载函数,实现即可:  void keyReleaseEvent(QKeyEvent *event);  void keyPressEv ...

  7. IDEA开发初始化设置

    一.基本设置 1. 自动生成 serialVersionUID 的设置 2. 设置文件注释 3. 隐藏项目文件(夹) .git;.gitignore;.idea;.idea/.;.mvn;mvnw;m ...

  8. java Collections.binarySearch 用法

    package testCollections; import java.util.ArrayList;import java.util.Collections;import java.util.Co ...

  9. linux运维、架构之路-禅道环境搭建

    一.介绍            禅道项目管理软件是国产的开源项目管理软件,专注研发项目管理,内置需求管理.任务管理.bug管理.缺陷管理.用例管理.计划发布等功能,实现了软件的完整生命周期管理. 禅道 ...

  10. transform-origin属性

    一.transform-origin的作用 transform-origin改变元素基点 (transform-origin是变形原点,原点就是元素绕着旋转或变形的点) 注意:该属性只有在设置了tra ...