• python基础(9)-----文件操作


    文件处理流程

    打开文件---〉获取文件对象---〉关闭文件

    基本操作

    1、打开文件

           f = open('<路径+文件名>','<模式>'...) # 默认为r模式只读(read)

      first_line = f.read_line() # 读取第一行

      print(first_line)

      f.close() # 关闭文件

    打开文件的模式有:

    r ,只读模式【默认模式,文件必须存在,不存在则抛出异常】
    w,只写模式【不可读;不存在则创建;存在则清空内容】
    x, 只写模式【不可读;不存在则创建,存在则报错】
    a, 追加模式【可读;   不存在则创建;存在则只再末尾追加内容】
    

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

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

    "b"表示以字节的方式操作,需要decode解码,encode编码,二进制可编辑图片,音频等等

    rb  或 r+b
    wb 或 w+b
    xb 或 w+b
    ab 或 a+b
    

    以b方式打开时,读取到的内容是字节类型,写入时也需要提供字节类型,不能指定编码 

    读取实例:

    f = open('/ljy/gc.txt', encoding='utf-8') # 默认为r模式只读(read)
    first_line = f.readline() # 读取第一行
    print(first_line)
    f.close() # 关闭文件
    
    
    #按行全部读取为list
    f = open('gc.txt', encoding='utf-8')
    a = f.readlines()  # 按行全部读取为list
    print(a)
    f.close()  # 关闭
    
    
    f = open('gc.txt', encoding='utf-8')
    a = f.read()  # 默认全部读取仅限于小文件,程序先把文件读取到内存里,这样的话大文件会很慢
    print(a)
    f.close()  # 关闭
    
    f = open("fileone","r+",encoding="utf-8") #打开文件并且是读写权限,打开文件往里写
    f = open("fileone","w+",encoding="utf-8") #打开文件并且是写读权限,先创建一个空文件再往里面写
    f = open("fileone","rb") #文件句柄,以二进制打开
    f = open("fileone","wb") #文件句柄,以二进制打开
    f.write("ceshi".encode()) #m默认以服务器字符集写入
    f.readline()
    f.readline()
    print(f.tell())

    写入实例:

    #创建一个新文件并写入,如果原来有这个文件会被清空
    f = open("gc.txt","w",encoding="utf-8") #w创建一个新的文件,并允许写入
    f.write("第一句话
    ") #写入内容
    f.write("第二句话
    ")   #写入内容
    
    #在文件中追加内容
    f = open("gc.txt","a",encoding="utf-8") #a表示append是追加的意思
    f.write("第三句话
    ") #写入内容
    
    #指针问题
    f = open("gc.txt","r",encoding="utf-8")
    print(f.tell())    #打印当前句柄指针
    print(f.readline())  #逐行读取
    print(f.readline())
    print(f.readline())
    f.seek(0)    #返回指针0位置
    print(f.tell())
    
  • 相关阅读:
    readelf的使用,看函数地址
    Linux 打印堆栈和crash地址转换
    Android mk 添加打印信息
    Linux make file文件中常用的一些定义CPP CXX
    关于Android中RemoveView的错误理解
    Android悬浮窗注意事项
    在有EditText控件的AlertDialog对话框中自动弹出输入法
    联系旭日150安装CentOS5.X版本手记
    ListView配合CheckBox出现position位置错误的解决
    在Android中让Preference的宽度占满整个屏幕的宽度
  • 原文地址:https://www.cnblogs.com/jinyuanliu/p/10436867.html
Copyright © 2020-2023  润新知