zoukankan      html  css  js  c++  java
  • Python内置函数之--open

              open

    1、open函数,该函数用于处理文件

    2、open("文件名,模式(用什么方式打开),编码")

        a、基本的打开方式

            

    #  1、只读,r
    f = open("ha.log","r")
    
    #2、只写,w,[文件不可读;文件不存在则创建;存在则清空内容]
    f = open("ha.log","w")
    f.write("123")
    f.close()
    
    #3、x, 只写模式【不可读;不存在则创建,存在则报错】
    f = open("ha1.log","x")
    f.write("456")
    f.close()
    
    #4、追加模式【不可读;不存在则创建;存在则只追加内容;】
    f = open("ha1.log","a")
    f.write("666")
    f.close()

        b、字节的方式打开

    #1、只读,rb
    f = open("ha.log","rb")
    data = f.read()
    f.close()
    print(type(data))
    
    #2、只写
    f = open("ha.log","wb")
    f.write(bytes("中国",encoding="utf-8"))
    f.close()

          c、区别:

    #普通打开
    #普通打开已经经过内部python操作,直接是UTF-8,rb方式则需要自己转换
    #===python内部将101010 => 转换成字符串,通过字符串操作
    #010101 =>  python解释器  => 程序员
    
    #二进制打开方式
    #rb方式打开只会得到2进制的代码,需要自己转换成utf-8

          d、"+" 表示可以同时读写某个文件

    # r+, 读写【可读,可写】
    # w+, 写读【可读,可写】
    # x+ ,写读【可读,可写】
    # a+, 写读【可读,可写】

             1、r+

    # r,末尾追加,指针移动到最后
    f = open("ha.log","r+",encoding="utf-8")
    #指针为0,起始位置
    #f.close()
    #从开始向后读
    #写,追加,指针调到最后
     

          2、w+,x+

    #w+,先清空文件内容,再写之后,就可以读取
    #先清空,之后写的才能读,写,指针到最后
    f = open("ha.log","w+",encoding="utf-8")
    f.write("吴文")
    f.seek(0)#指针指向0
    data = f.read()
    f.close()
    print(data)
    #x+基本同上,如果文件存在,则报错

        3、a+

     a+
    a,打开的同时,指针已经到最后了,文件里面的内容读不到
    #写时,也会追加,指针放到最后
    f = open("ha.log","a+",encoding="utf-8")
    data = f.read()
    f.close()
    print(data)

    3、  文件的操作功能

    #===============================
    # f.tell()#获取指针的位置
    # f.seek(num)#调整指针的位置
    #===============================
    # close         关闭文件
    # flush         强制刷新文件内部缓冲区
    # read          读取文件
    # readline      读取一行
    # seek          文件中指针位置
    # tell          获取指针的位置
    # truncate      截断数据,仅保留指针指定之前数据
    # write         读取文件

    4、读取每一行的内容

    f = open("ha.log","r",encoding="utf-8")
    
    for line in f:
         print(line)  =>#f.readline,可以读取所有行的内容

    5、with open

    #当with代码块执行完毕时,内部会自动关闭并释放文件资源。
    with open("ha.log","r") as f:
        f.read()
    #python内部会帮你关闭不用写f.close

     

    #同时打开2个文件
    with open("log1","r") as boj1, open("log2","r") as obj2:
         pass
    
    #打开2个文件并进行传送数据
     with open("源文件","r") as obj1,open("新文件","w") as obj2:
         for line in obj1:
             obj2.write(line)
     #打开一个源文件,同时吧内容写入一个新文件里面

    6、lambda表达式

    #lambda可以代替简单的函数
    def f1():
        return 123
    
     f2 = lambda :123
    
     def f3(a1,a2):
         return a1 + a2
    
     f4 = lambda a1,a2: a1+a2
    
     r1 = f1()
     print(r1)
    
     r2 = f2()
     print(r2)

        

  • 相关阅读:
    了解Android_09之GridView(网格视图)
    了解Android_08之ListView(列表视图)
    了解Android_07之ImageView与使用glide第三方库加载网络图片
    了解Android_06之CheckBox
    了解Android_05之RadioButton
    了解Android_04之EditText标签
    了解Android_03之Button标签
    了解Android_02之TextView标签
    了解Android_01之HelloWorld
    02_vue本地应用(v-text,v-html,v-on,v-show,v-if,v-bind,v-for,v-model)
  • 原文地址:https://www.cnblogs.com/Acekr/p/7351972.html
Copyright © 2011-2022 走看看