zoukankan      html  css  js  c++  java
  • 学习笔记四 文件读写,集合,元组,函数

    一、文件读写几种模式总结:

    读模式: r 打开不存在的文件会报错、不能写(不能调用write方法),可以读(能调用read方法)

    写模式: w # 1、打开不存在的文件,会新建一个文件,但每次打开都会清空原有文件内容

          # 2、不能读(不能调用read方法),可以写(能调用write方法)

    追加模式 a # 1、打开不存在的文件,会新建,可以写(可以调用write方法)

          # 2、不能读(不能调用read方法)

    读写模式 r+ # 1、能写能读,但每次都是重头写入,会覆盖原有的文件内容

          # 2、打开不存在文件的时候会报错

    写读模式 w+ # 1、能读能写

          # 2、但读不到内容,因为每次打开w先把文件内容清空

    追加读模式 a+ # 1、能读能写

           # 2、每次读的时候,文件指针是在文件末尾。如果需要重头读起,需要f.seek(0)将指针移到文件开始(注意在Python中,a或a+模式修改文件指针对于文件的写入没有影响,都会在结尾追加写入当文件写入数据后),在没有关闭文件前,此时写入的数据还在内存中,没有写入磁盘,当文件在其他地方打开的时候,是看不到新写入的数据,如果希望新写入的数据立即生效写入磁盘,需要用f.flush(),文件末尾用f.tell()

    读取文件内容三个方法:

    比如有文件test.txt


    1.read():方法用于从文件读取指定的字节数,如果未给定或为负则读取所有。

    2.readline():一次读取文件的一行。如果文件指针在文件开始位置,则读取的是第一行数据。

    3.readlines():读取文件的所有行,并且以list形式返回

    4.直接循环文件对象:当文件比较大的时候可以用此方法

                      

    文件的写操作:

     1.write(str):参数必须是个字符串,写入的内容就是str

     2.writelines(sequence):参数是一切可迭代的(字符串,list,元组,set,dict)的对象,其运行原理是将sequence的内容以遍历的方式依次读取写入

    5.文件操作小代码:监控日志

    6.文件操作小代码:修改文件

    with 操作会自动调用close(),无需手动写关闭文件操作

    第一种方式:全部读取文件的内容后修改其内容,将原有文件内容删除,然后将修改的内容直接复制写进去

    第二种方式(推荐):创建一个新的空文件,将修改的内容写入到新文件后,再删除原有的旧文件,将新文件更名成旧文件名

    二.集合

    1.集合的重要属性:可以自动去重!(划重点)

    2.集合初始化:s=set(),集合也是用{}括起来的形式,但不是键值对。空的集合必须用set()初始化不能用{},因为{}表示空的字典

    3.集合的几种运算:

      1.交集:找出集合之间相同的元素

      两种方式:intersection()和&

       

        2.并集:把2个集合合并到一起,然后去除重复

      两种方式:union和|

       

      3.差集:前面一个有,后面一个没有的

       两种方式:difference和 -

     

      

      4.对称差集: 只在一个集合里面出现过的,都给你整出来(除交集以外的那些元素)

      两种方法:symmetric和^

    4.集合元素新增:add,无返回值

    5.集合元素删除:因为集合是无序的,所以无法通过指定下标来操作(没有下标这个概念)

      1.pop:随机删除,返回删除的那个值,不能带任何参数

      2.remove:指定元素删除,没有返回值

    6.集合的遍历:

      

    三.string模块的几个方法:

     

    四.元组:元组也是一个有序的序列,特点是值不能修改

     1.元组的初始化:一定要用逗号间隔

    五.随机操作常用方法:

     需要导入模块:import random

     1.randint(a,b):随机一个整数,范围左闭右闭

       random.randint(1,23):随机一个范围在1和23直接的整数

     2.choice(seq):从一个有序的序列(不包括字典和集合)中随机选一个值返回,返回类型同返回元素的类型

     3.sample(seq,n):从一个有序的序列(不包括字典和集合)中随机选n个值组成list返回

     4.shuffle(list):参数只能是list,打乱一个list的顺序,无返回值

     5.uniform(a,b) :a-b直接随机取小数

    六.函数简单介绍:

    函数以def定义,函数名(),:结尾,默认返回值为None,也可以自定义返回值

    函数的形参:函数定义的时候括号里带的参数

    函数的实参:函数调用时传入的实际参数

    函数的变量:函数里面定义的变量,作用域只在函数体内,函数体外不可见

    函数的返回值:返回值作为函数的一个处理结果返回给调用者

    
    
    

      

  • 相关阅读:
    正则表达式
    linux中的三种时间
    用户,用户组
    inode与block
    linux文件属性
    linux的启动过程
    linux的重要子目录
    mail邮箱
    spark原理
    spark部署
  • 原文地址:https://www.cnblogs.com/eichar/p/10021480.html
Copyright © 2011-2022 走看看