• Python-Day10


    文件操作

    一、打开文件

    文件句柄 = open('文件路径', '模式')

    打开文件时,需要指定文件路径和以何等方式打开文件,打开后,即可获取该文件句柄,日后通过此文件句柄对该文件操作。

    打开文件的模式有:基本的方式 encoding='utf-8' ----> 字符串类型

    r ,只读模式【默认】
    # 只读 'r'
    f = open('x.log', 'r', encoding='utf-8')
    r = f.read()
    # f.write('hahah') 报错
    f.close()
    print(r)
    
    w,只写模式【不可读;不存在则创建;存在则清空内容;】
    f = open('x1.log', 'w')
    f.write('hahah')
    f.close()
    
    x, 只写模式【不可读;不存在则创建,存在则报错】
    f = open('x3.log', 'x')
    f.write('hahah')
    f.close()
    
    a, 追加模式【不可读;不存在则创建;存在则只追加内容;】
    f = open('x3.log', 'a')
    f.write('hahahqqqqqqqqqqqqqqqqq')
    f.close()
    

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

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

    "b"表示以字节的方式操作 -----> 字节类型

    rb 或 r+b
    f = open('x.log', 'rb')
    r = f.read()
    f.close()
    print(r, type(r))
    print(str(r, encoding='utf-8'))
    
    wb 或 w+b
    f = open('x.log', 'wb')
    f.write(bytes('buzhidao你好xingbuxing', encoding='utf-8'))
    f.close()
    
    xb 或 x+b
    ab 或 a+b

    注:以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型


    文件操作与指针

    f.seek(num) 改变指针到num字节处,然后从num处读写

    f.tell() 获取当前指针的位置

    写操作完成后指针指向最后位置,再读的话读不出内容出来

    r 模式会将指针放在文件开始位置处,w 会清空文件然后把指针放在文件开始处, a 模式会将指针指向文件结尾处


    f.readline()会读取一行内容

    for line in f:
        print(line)
    #该操作会一次读取一行内容
    

    自动关闭文件:

    with open('h.log', 'w+') as f:
        f.write('hahahah')
        f.seek(0)
        r = f.read()
        print(r)
    

    with 可以同时操作两个文件:

    with open('h.log', 'r') as f, open('h2.log', 'w') as f2:
        for line in f:
            f2.write(line)
    #复制操作
  • 相关阅读:
    BitmapDrawable
    Understanding Density Independence in Android
    HttpURLConnection
    [Unity3D]事半功倍:界面插件NGUI的使用教程与实例
    lua下标
    数组形参
    Hibernate的一级缓存
    必备技术
    idea 跳转实现类-快捷键
    JavaSE面试题:单例设计模式
  • 原文地址:https://www.cnblogs.com/freelandun/p/6629535.html
Copyright © 2020-2023  润新知