zoukankan      html  css  js  c++  java
  • 文件的操作

    一.文件的打开模式

      补:文件句柄:将文件打开后赋值给它,相当于接管了文件的访问

    1.只读模式 r

      

    f=open("hello.txt",encoding=utf-8,"r")
    f.read()
    f.read(3)
    f.readlines()
    f.close()
    f.read()  读出文件的全部内容
    f.read(3)  读出文件的3个字符,(注意:参数n不是指字节数)
    list = f.readlines()  读出每一行并返回一个列表,将每一行当一个元素
    2.只写模式 w
    f=open("hello.txt",encoding=utf-8,"w")  用该模式打开,如果该文件不存在,则创建,如果文件已经存在,则将文件格式化。
    f.write()
    3.追加写(只能写)a
    f=open("hello.txt",encoding=utf-8,"a")  在文件后面追加写,
    4.读写模式 r+  
    用这种方式打开后写的内容只能是追加在后面,注意:文件的读与写的文件指针是不同的,即不能在原文件上对文件的内容进行修改。因为文件内容的空间已经长度固定,但可以通过再创建一个新的文件,进行copy并修改
    5.写读模式 w+
    文件一旦用w+模式打开,该文件首先进行格式化,即清空文件的内容,所以用这种方法打开文件后内容会丢失,但当文件已经写了一部分,可以进行读操作不过这里的读写的文件指针是同步的,当要读取前面的内容就要用seek与tell()
    seek(n)将文件指针跳转到某个地方,n的单位是字节数
    tell()打印文件指针的位置 
     
    f=open("hello.txt",encoding=utf-8,"w+")
    f.read()
    f.write("hello alex ,hjhj g
    ")
    f.read()
    f.seek(0)
    f.readline()
    
    
    6.追加写读模式 a+


    这个模式与w+类似,只是不会进行格式化
    7.flush()刷新与truncate()截取
    f=open("小重山","w")
    f.write("hello word 
    ")
    f.flush()
    f.write("'alex")
    #进度条
    import sys,time
    for i in range(30)
        sys.stdout.write("*")#等效print("*",end="",flush=True)
        sys.stdout.flush()#sys.stdout与sysstdin是终端输出,输入文件
        time.sleep(0.2)
    
    

    print("*",end="",flush=True)  end=''因为print会有一个自带的换行的效果,这里表示用“”(空)结尾,去掉换行效果。

    8.fileno()文件描述符,会返回一个整数,同一个文件在不同的程序里打开,文件的描述是相同的
    9.with语句  为了避免打开的文件忘记关闭,
    with open('log','r') as f:
        pass
    使用with语句当代码执行完毕,内部会自动关闭文件并释放文件资源
    python2.7以后支持多文件操作
    
    
    with open('log','r') as f1,open('log2','w') as f2:
        pass
    
    
    

     
  • 相关阅读:
    WPF DelegateCommand 出现Specified cast is not valid
    WPF DelegateCommand 出现Specified cast is not valid
    WPF DelegateCommand 出现Specified cast is not valid
    win10 sdk 是否向下兼容
    win10 sdk 是否向下兼容
    win10 sdk 是否向下兼容
    PHP extract() 函数
    PHP end() 函数
    PHP each() 函数
    PHP current() 函数
  • 原文地址:https://www.cnblogs.com/gjx1212/p/11665435.html
Copyright © 2011-2022 走看看