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
    
    
    

     
  • 相关阅读:
    FTP工具类
    Mac下git用户名密码问题
    python3 可能是类似于java的方法重载
    Dos窗口默认设置修改
    登录接口,密码前端密码加密
    编码中存在的问题
    在django项目中使用selenium报错:TypeError: environment can only cantain string
    python实现:base64与图片的转换
    查看电脑支持的文字, .ttf文件
    获取指定目录下的所有文件,直到底
  • 原文地址:https://www.cnblogs.com/gjx1212/p/11665435.html
Copyright © 2011-2022 走看看