• python--匿名函数、文件操作


    一、匿名函数

    • 语法:
        sum = lambda arg1, arg2: arg1 + arg2
    
        #调用sum函数
        print "Value of total : ", sum( 10, 20 )	#结果为:30
        print "Value of total : ", sum( 20, 20 )	#结果为:40
    
    • 应用场合

      • 作为函数的实参
      def fun(a, b, opt):
          print("a =", a)
          print("b =", b)
          print("result =", opt(a, b)
                
      fun(1, 2, lambda x, y:x + y		#结果为:a = 1 b = 2 result = 3
      
      • 作为python内置函数的参数。
      stus = [
          {"name":"zhangsan", "age":18}, 
          {"name":"lisi", "age":19}, 
          {"name":"wangwu", "age":17}
      ]
      
      #将以上列表按姓名排序。
      stus.sort(key = lambda x:x['name'])
      

    二、文件

    • 打开文件:

      • 使用open()函数。
      file = open('test.txt', 'r')
      
      访问模式 说明
      r 以只读方式打开文件。文件的指针将会放在文件的开头。这是默认模式。
      w 打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
      a 打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
      rb 以二进制格式打开一个文件用于只读。文件指针将会放在文件的开头。这是默认模式。
      wb 以二进制格式打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
      ab 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容将会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。
      r+ 打开一个文件用于读写。文件指针将会放在文件的开头。
      w+ 打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
      a+ 打开一个文件用于读写。如果该文件已存在,文件指针将会放在文件的结尾。文件打开时会是追加模式。如果该文件不存在,创建新文件用于读写。
      rb+ 以二进制格式打开一个文件用于读写。文件指针将会放在文件的开头。
      wb+ 以二进制格式打开一个文件用于读写。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。
      ab+ 以二进制格式打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。如果该文件不存在,创建新文件用于读写。
    • 关闭文件:

      • 使用close()函数
      file.close()
      
    • 读取文件:

      • 使用read()函数
      file.read()
      file.read(1)	#每次只读一个字节
      file.read(2)	#每次读两个字节
      
      • 使用readlines()函数:readlines可以按照行的方式把整个文件中的内容进行一次性读取,并且返回的是一个列表,其中每一行的数据为一个元素

      • 使用readline()函数:只读取文件中的一行

    • 写入内容:

      使用write()函数

      file.write('12345')
      
    • 定位读写:

      • 获取当前文件读取的位置:tell()
      • 定位到某个位置:seek(offset, from)
        • offset:偏移量
        • from:方向
          • 0:表示文件开头
          • 1:表示当前位置
          • 2:表示文件末尾
    • 文件的重命名:rename():

    import os
    os.rename('test.txt', '1.txt')
    os.remove('1.txt')
    os.mkdir('test')
    os.rmdir('test')
    os.getcwd()
    os.chdir('../')
    os.listdir('./')
    
    • 删除文件:remove()

    • 创建文件夹:mkdir()

    • 删除文件夹:rmdir()

    • 获取当前目录:getcwd()

    • 改变默认目录:chdir()

    • 获取目录列表:listdir()

  • 相关阅读:
    windows7系统笔记本设置成虚拟WiFi热点(即“无线路由器”)
    分布式事务03单体应用分库多数据源改造
    Spring5.2.x01导入idea
    图解CRM(客户关系管理)全流程
    分布式事务03XA, 2PC, 3PC 等理论知识
    分布式事务01课前知识
    tomcat9源码导入idea
    分布式事务02Springtx核心
    DEA Push rejected: Push to origin/master was rejected问题的解决方法
    Error:gradleresourcestest:thymeleafinaction.main: java.lang.NoClassDefFoundError: org/apache/tools/ant/util/ReaderInputStream
  • 原文地址:https://www.cnblogs.com/peilanluo/p/8158235.html
Copyright © 2020-2023  润新知