一.标准模块
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,安装模块的时候,可以执行:

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

2、第三方模块

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

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

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

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

两种导入方法,例如:

方法1:

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

方法2: 

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

3、自己写的python文件

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

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

常用模块random/os/sys/time/datatime/hashlib/pymysql等

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

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

常用模块random/os/sys/time/datatime/hashlib/pymysql等

三.列表生成式

常用模块random/os/sys/time/datatime/hashlib/pymysql等

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

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

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

结果:

常用模块random/os/sys/time/datatime/hashlib/pymysql等

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

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

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

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)
结果:

    常用模块random/os/sys/time/datatime/hashlib/pymysql等

五.常用标准模块:

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

相关文章: