zoukankan      html  css  js  c++  java
  • 文件的管理

    #文件的几种打开模式:r,w,a追加,
    # r+:读+追加模式(python3),读+任意位置写模式(python2)
    # w+:读写模式
    # a+:追加读写
    # rb:二进制方式打开,以byte方式显示,要与encoding='utf-8'一起使用。使用场景:跨平台(winlinux)
    # wb:二进制方式读写
    # ab:二进制方式追加

    #读取文件内容,默认只读打开。具有自动关闭文件功能
    filename = 'file01.txt'
    with open(filename) as fobj:
    content = fobj.read()
    print(content)


    #可同时打开多个文件,为了一行不超过80字符,用反斜线分行
    with open ("filename1",'w') as fobj,
    open ("filename2",'w') as fobj02:
    pass



    #文件如不存在,则建立,已存在则覆盖原内容
    filename = 'file02.txt'
    with open(filename,'w') as fobj:
    fobj.write("Hello,world!")

    #追加内容到文件,如文件不存在则建立
    filename = 'file02.txt'
    with open(filename,'a') as fobj:
    fobj.write("Hello,world!")

    f01 = open('file01.txt',encoding='utf8') #文件打开后赋一个变量(如f01),才能后续操作文件
    print(f01.read())

    f02=open('file01.txt',encoding='utf-8').read()
    print(f02)


    f = open('file02.txt')
    print(f.readline()) #指针移到文件第一行,并输出
    print(f.readline()) #指针移到文件第二行,并输出
    print(f.readline()) #指针移到文件第三行,并输出
    print(f.readline()) #指针移到文件第四行,并输出
    print(f.readline()) #指针移到文件第五行,并输出
    #如果要读出前五行:
    for i in range(5):
    print(f.readline())

    print(f.tell()) #打印指针当前的位置
    f.seek(0) #移动指针到0位置

    #一次性读取文件全部内容:(适合小文件)
    f = open('file02.txt')
    for line in f.readlines():
    print(line)

    #一行一行的读,适合大文件:
    f = open('file02.txt')
    for line in f:
    print(line)

    #打印文件名称
    print(f.name)

    f.flush() #用来刷新缓冲区,即将缓冲区中的数据立刻写入文件,同时清空缓冲区。无返回值
    f.close() #关闭文件

    #对文件内容作替换
    f_old = open('file.txt',encoding='utf8') #与with open功能差不多
    f_new = open('file-new.txt','w',encoding='utf8')

    for line in f_old:
    if "服务器" in line:
    line = line.replace("服务器","SERVER")
    f_new.write(line)
    f_old.close()
    f_new.close()

    print(__file__) #返回当前文件的绝对路径
  • 相关阅读:
    各种排序算法时间复杂度和空间复杂度表
    where 1=1和 0=1 的作用
    scala map操作 简单总结
    Scala详解---------数组、元组、映射
    Scala之String
    scala object 转Class Scala强制 类型转换
    Scala中的None,Nothing,Null,Nil
    mysql如何更新一个表中的某个字段值等于另一个表的某个字段值
    java.lang.String cannot be cast to scala.runtime.Nothing Scala中的Nothing类型
    mybatis 于 hibernate区别
  • 原文地址:https://www.cnblogs.com/hy007x/p/7727590.html
Copyright © 2011-2022 走看看