zoukankan      html  css  js  c++  java
  • python学习笔记-day6

    python文件操作

    对文件的操作有2种,文本文件、二进制文件(视频,图片)

    open方法基本使用

    open(file,mode = 'r',encoding = None)
    

    几种打开模式:

    'r': 只读模式
    'w':写模式,如果文件在,先清空 危险!
    'x':创建模式,如果文件在,会报错
    'a':类似日志
    'b':二进制模式
    't':文本模式
    '+':r+w
    

    ⼀个⽂件对象被open⽅法创建后,这个对象可⽤的有下⾯这些

    close 关闭⽂件
    closed 查看⽂件是否已关闭
    encoding 返回⽂件的编码
    flush 把缓存⾥的写⼊的数据强制刷新硬盘
    isatty 返回⽂件是否是'interactive'数据流,⽐如是个命令⾏终端,(在unix系统,⼀切皆⽂件)
    mode 返回当前⽂件模式
    name 返回⽂件名
    read 读指定⻓度的内容,f.read(1024) 读1024字节, 不指定参数的话,就读所有内容
    readable ⽂件是否可读
    readline 读⼀⾏
    readlines 读所有,每⾏列表形式返回
    seek 把光标移到指定位置
    seekable 该⽂件光标是否可移动
    tell 返回当前光标位置
    truncate 截断⽂件, f.truncate(100), 从⽂件 开头截断100个字符,后边的都扔掉
    writable 是否可写
    

    创建模式:创建文件

    f = open("contacts.txt", 'w') # 创建⼀个⽂件对象(⽂件句柄),存为变量f f.write("alex 133332") # 写⼊
    f.close() # 关闭这个⽂件
    f.write('dddd') # 关闭后,没办法再写⼊了
    

    按⾏读取&循环:

    f = open("model_contacts.txt") # 默认`rt`模式
    print(f.readline()) # 读第1⾏
    print(f.readline()) # 读第2⾏
    print(f.readline()) # 读第3⾏
    print('----循环读后⾯的-----')
    for line in f:
     print(f.readline())
    

    ⽂件⾥查找内容:

    f = open("model_contacts.txt")
    for line in f:
     if "梦⽵" in line:
     print(line)
    

    运算符

    公共方法

    推导式

    列表推导式: 返回列表

    list1 = [i for i in range(10)]
    print(list1)
    #带if的列表推导式
    list1 = [i for i in range(10) if i % 2 == 0]
    print(list1)
    # 多个for循环实现列表推导式 [(1, 0), (1, 1), (1, 2), (2, 0), (2, 1), (2, 2)]
    list1 = [(i, j) for i in range(1, 3) for j in range(3)]
    print(list1)
    

    字典推导式:返回字典

    dict1 = {i: i**2 for i in range(1, 5)}
    print(dict1) # {1: 1, 2: 4, 3: 9, 4: 16}
    #将两个列表合并为⼀个字典
    list1 = ['name', 'age', 'gender']
    list2 = ['Tom', 20, 'man']
    dict1 = {list1[i]: list2[i] for i in range(len(list1))}
    print(dict1)
    # 提取字典中⽬标数据
    counts = {'MBP': 268, 'HP': 125, 'DELL': 201, 'Lenovo': 199, 'acer': 99}
    # 需求:提取上述电脑数量⼤于等于200的字典数据
    count1 = {key: value for key, value in counts.items() if value >= 200}
    print(count1) # {'MBP': 268, 'DELL': 201}
    

    集合推导式:返回集合

    list1 = [1, 1, 2]
    set1 = {i ** 2 for i in list1}
    print(set1) # {1, 4}
    

    推导式总结

    # 列表推导式
    [xx for xx in range()]
    # 字典推导式
    {xx1: xx2 for ... in ...}
    # 集合推导式
    {xx for xx in ...}
    

    引用

    在python中,值是靠引用来传递的
    可以用id()来判断两个变量是否为同一值的引用

    可变和不可变类型

    可变类型:
    列表
    字典
    集合
    不可变类型:
    整型
    浮点型
    字符串
    元组

  • 相关阅读:
    Lucene 入门实战
    ActiveMQ 入门实战(3)--SpringBoot 整合 ActiveMQ
    ActiveMQ 入门实战(2)--Java 操作 ActiveMQ
    Hdevelop(Halcon)快捷键
    2021年9月3日第7次刷第一章。但行好事莫问前程
    大家好。我准备第6次从第一章重新往回写了。
    ODOO13之十四 :Odoo 13开发之部署和维护生产实例
    Odoo 13之十三 :开发之创建网站前端功能
    ODOO13之12:Odoo 13开发之报表和服务端 QWeb
    doo 13 之11 :开发之看板视图和用户端 QWeb
  • 原文地址:https://www.cnblogs.com/liuChang888/p/15038674.html
Copyright © 2011-2022 走看看