今日内容

  模块知识

  内置模块

    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'>

20200223--python学习第15天的更多相关文章

  1. Python学习总结15:时间模块datetime & time & calendar (二)

    二 .datetime模块  1. datetime中常量 1)datetime.MINYEAR,表示datetime所能表示的最小年份,MINYEAR = 1. 2)datetime.MAXYEAR ...

  2. Python学习(15)文件/IO

    目录 Python 文件I/O 打印到屏幕 读取键盘输入 打开和关闭文件 File对象属性 文件定位 重命名和删除文件 Python的目录 Python 文件I/O 本章只讲述所有基本的的I/O函数, ...

  3. Python学习笔记15—mysql的操作

    安装 Python-MySQLdb pip install mysql-Python Python对mysql的操作 建立一个实验数据库demo mysql> create database d ...

  4. python学习笔记15(面向对象编程)

    虽然Python是解释性语言,但是它是面向对象的,能够进行对象编程. 一.如何定义一个类 在进行python面向对象编程之前,先来了解几个术语:类,类对象,实例对象,属性,函数和方法. 类是对现实世界 ...

  5. 从零开始的Python学习Episode 15——正则表达式

    正则表达式 正则表达式(或 RE)是一种小型的.高度专业化的编程语言,(在Python中)它内嵌在Python中,并通过 re 模块实现,所以使用时要导入re模块.正则表达式模式被编译成一系列的字节码 ...

  6. Python学习:15.Python面向对象(二、继承的各种情况)

    一.什么是继承 继承是一种创建类的方法,在python中,一个类可以继承来自一个或多个父.原始类称为基类或超类. #创建父类 class Parent1: pass class Parent2: pa ...

  7. Python 学习 第15篇:日期和时间

    datetime模块中包含五种基本类型:date.time.datetime.timedelta和tzinfo,tz是time zone的缩写,tzinfo用于表示时区信息. 一,date类型 dat ...

  8. Python 学习笔记15 类 - 继承

    我们在编程的过程中,并非都是要重头开始.比如其他人已经有现成的类,我们可以使用其他找人编写的类.术语称之为: 继承. 当一个类继承例外一个类时,它可以获得这个类的所有属性和方法:原有的类称之为 父类, ...

  9. Python学习基础笔记(全)

    换博客了,还是csdn好一些. Python学习基础笔记 1.Python学习-linux下Python3的安装 2.Python学习-数据类型.运算符.条件语句 3.Python学习-循环语句 4. ...

  10. Python学习笔记(15)- os\os.path 操作文件

    程序1 编写一个程序,统计当前目录下每个文件类型的文件数,程序实现如图: import os def countfile(path): dict1 = {} # 定义一个字典 all_files = ...

随机推荐

  1. Yolo V3损失函数占个坑

    https://blog.csdn.net/weixin_43384257/article/details/100974776目前来看讲的最清楚的博客 https://zhuanlan.zhihu.c ...

  2. 1z0-062 题库解析4

    题目: Examine this parameter: NAME                     TYPE          VALUE ------------------------ -- ...

  3. Centos7 搭建Grafana+Jmeter+Influxdb 性能实时监控平台

    未完,待更新 背景 日常工作中,经常会用到Jmeter去压测,毕竟LR还要钱(@¥&*...),而最常用的接口压力测试,我们都是通过聚合报告去查看压测结果的,然鹅聚合报告的真的是丑到家了,作为 ...

  4. Ubuntu18.04 安装配置mongodb

    一.安装 # 1. 更新 sudo apt-get update # 2. 安装 sudo apt-get install -y mongodb # 3. 查看是否安装成功 # a. 服务状态 sud ...

  5. C++ vector对象是如何增长的

    为了支持快速随机访问,vector将元素连续存储---每个元素紧挨着前一个元素存储. 如果没有空间容纳新元素: 容器必须分配新的内存空间来保存已有元素和新元素,将已有元素从旧位置移动到新空间中,然后添 ...

  6. 剑指Offer对答如流系列 - 实现Singleton模式

    目录 面试题2:实现Singleton模式 一.懒汉式写法 二.饿汉式写法 三.枚举 面试题2:实现Singleton模式 题目:设计一个类,我们只能生成该类的一个实例. 由于设计模式在面向对象程序设 ...

  7. 异想家Ubuntu安装的软件

    [替换国内源] https://developer.aliyun.com/mirror/ubuntu 我提供一个下载,方便第一次安装懒得敲命令: https://jfz.me/16.04/source ...

  8. AttributeError: module 'cv2' has no attribute 'SIFT'解决总结

    AttributeError: module 'cv2' has no attribute 'SIFT' 遇到该问题时,网友多是建议补个包,即pip install opencv-contrib-py ...

  9. Yum注册

    我虚拟机安装的系统是RedHat Enterprise Linux 6.4-i686,是32位的.使用yum命令安装软件时候出现以下错误: This system is not registered ...

  10. C语言博客作业6

    本周作业头 这个作业属于那个课程 C语言程序设计II 这个作业要求在哪里 作业链接 我在这个课程的目标是 熟悉多分支结构.字符型数据类型和逻辑运算符 这个作业在那个具体方面帮助我实现目标 完成pta作 ...