20200223--python学习第15天

今日内容

  模块知识

  内置模块

    time/datatime/json/其他

内容回顾&作业题

  重点知识点

    构造字典和函数对应的关系,避免重复的if  else

    a = 1 b = 2 -----> a,b = b,a

    装饰器

    找文件路径

    脚本参数

    sys.exit 

    range/xrange

    读大文件

    面试题如果遇到有歧义,一定要给出多种情况。

今日内容

  1.模块基础知识

    内置模块,python内部提供的功能。

      示例一:    

        import sys
        print(sys.argv)

    第三方模块,下载/安装/使用

      示例一:     

        #把pip.exe所在的目录添加到环境变量中。
        pip install 要安装的模块名称 #pip install xlrd

      网慢:报错的信息中会出现timed out 等关键字

      python36 -m pip install --update pip:是针对错误信息中含有“Fatal error in launcher:unable to create process using'"d:\python3.6\python.exe"  "d:\python3.6\Scripts\pip.exe"  install xlrd'”

      安装完成后,如果导入不成功

        重启python

        安装错了

      自定义模块

示例:

xxxx.py 
def f1():
pass
def f2():
pass

#在x1.py文件中
#调用xxxx文件自定义模块的功能
import xxxx
xxxx.f1()
xxxx.f2()

#运行
python x1.py     

  2.内置模块

    (1)os

      os.makedirs 创建目录与子目录

示例一:

import os
path = r"db\xx\xo\xx.txt"
file_folder = os.path.dirname(path)
if not os.path.exists(file_folder):
os.makedirs(file_folder)
with open(path,mode= 'w',encoding = "utf-8") as f:
f.write('你好')

      os.mkdir 创建目录

示例一:

#将当前目录下的db文件重命名为sb
import os
os.rename('db','sb')

      os.rename 重命名

      os.path.join 路径的拼接

      os.path.dirname 获取上级目录

      os.path.abspath 获取文件的绝对路径

      os.path.exists 判断一个路径是否存在

      os.stat('文件路径').st_size 判断一个文件的大小

      os.listdir 获取路径下的所有文件【仅限第一层】

      os.walk 获取路径下的所有文件【所有层】

    (2)sys

      sys.argv 获取执行脚本时的参数

      sys.path 默认python中去导入模块时,会按照sys.path中的路径挨个查找

示例一:

#新添加一个模块存储路径的方法如下:
import sys
sys.path.append('d:\\')
for item in sys.path:
print(item)

      sys是解释器相关的数据:递归次数/引用次数(sys.getrefcount)

     (3)json

      json是一个特殊的字符串。【长的像列表/字典/字符串/数字/真假】

      注意:json 是一个字符串,json格式是必须是以列表或是字典开始的

示例一:

import json
#json格式:
#序列化 将python中的值转换为json格式的字符串。
v = [12,3,4,{'k1':'v1'},'True','asd',(12,33,44),[1,2,3]]
v1 = json.dumps(v)
print(v1)
#输出结果为:[12, 3, 4, {"k1": "v1"}, "True", "asd", [12, 33, 44], [1, 2, 3]]
#注意:在python中会将元组转换为列表,且无集合

示例二:

#反序列化,将json格式的字符串转换为python的数据类型
import json
v2 = '["alex",123]'
print(type(v2)) #输出结果为:字符串
v3 = json.loads(v2)
print(v3,type(v3)) #输出结果为:['alex', 123] <class 'list'>

猜你喜欢

转载自www.cnblogs.com/limin1027/p/12349491.html
今日推荐