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

    文件创建:

    open('path',模式)

    打开文件的模式:

    r:以只读方式打开文件(默认),指针在文件开头
    w:以写入的方式打开文件,会覆盖已存在的文件
    x:如果文件已经存在,使用此模式打开将引发异常
    a:以写入模式打开,如果文件存在,则在末尾追加写入
    b:以二进制模式打开文件
    t:以文本模式打开(默认)
    +:可读写模式
    U:通用换行符支持

    r+b:读写模式打开
    w+b:写读模式打开
    a+b:追加及读模式打开

    常用函数:

    f.close()   #关闭文件
    f.flush()   #刷新文件内部缓冲
    f.read(size=-1)   #从文件读取size个字符,当未给定size或给定负值的时候,读取剩余的所有字符,然后作为字符串返回
    f.next()   #返回文件下一行
    f.write(str)   #写入文件
    f.readline()   #读取整行,包括 "
    " 字符,以列表形式返回
    f.writelines(seq)   #向文件写入多行,写入速度比write快。
    f.seek(offset,from)   #在文件中移动文件指针,从from(0代表起始位置,1代表当前位置,2代表文件末尾)偏移offset个字节
    f.tell()   #返回当前在文件中的位置
    f.name()   #返回文件名称
    f.mode()   #返回文件访问模式

    例1:

    >>> f = open('E:\test.txt','w')   #在E盘下新建test.txt文件,并追加写入属性,注意:如果文本存在时会覆盖之前内容。
    >>> f.write('************'12
    >>> f.close()   #关闭文件
    >>> f = open('E:\test.txt')
    >>> f.read() 
    '************'
    >>> f = open('D:\test.txt','a+')  #如果文本存在,则在后面追加,不会覆盖之前的内容。
    >>> f.write('This is a test!')
    15
    >>> f.close()
    >>> f = open('D:\test.txt')
    >>> f.read()
    '************This is a test!'

     例2:新建一个test.txt文件并编辑其内容,最后找出test.txt文件中you的数量

    import re
    count = 0
    file = open('D:\test.txt','w')
    file.write("you
    you're my superstar!
    youaasdad
    5rtyoudfasf")
    file.close()
    file = open('D:\test.txt','r')

    for k in file.readlines(): r = re.findall('you',k) if len(r) > 0: count = count + len(r) print('count :',count) file.close()

    输出结果:

    count : 4

     例3:把test.txt中的'you'替换成she,并保存到原来文件中。

    f1 = open('D:\test.txt','r')
    f2 = open('D:\test1.txt','w')
    
    for m in f1.readlines():
        f2.write(m.replace('you','she'))
    f1.close()
    f2.close()
    
    f1 = open('D:\test.txt','r')
    f2 = open('D:\test1.txt','r')
    print(f1.read())
    print('--------------我是分割线----------------')
    print(f2.read())

    输出结果:

    you
    you're my superstar!
    youaasdad
    5rtyoudfasf
    --------------我是分割线----------------
    she
    she're my superstar!
    sheaasdad
    5rtshedfasf
  • 相关阅读:
    CA证书扫盲,https讲解。
    关于jquery的入门,简单的封装。
    anglar JS使用两层ng-repeat嵌套使用,分辨$index
    JS中=>,>>>是什么意思
    撰写html标签的快捷方式2
    CSS 中伪类的顺序
    撰写html标签的快捷方式1
    文字换行显示
    input 控件监听回车确认按钮。
    git常用命令整理
  • 原文地址:https://www.cnblogs.com/ping-y/p/5830076.html
Copyright © 2011-2022 走看看