zoukankan      html  css  js  c++  java
  • python-day10--文件处理

    1.文件:是操作系统提供的概念

    2. open(r+'文件路径' , '打开方式' , '用什么字符编码')   #r 表示原始字符串

    eg:open(r'C:Users13264Desktopaaaa.py','r',encoding='utf-8')

    3.文件打开:

         f=open(r'aaaa.py')

      这个过程等于干了两件事:第一是操作系统打开文件,第二是在内存中开空间存一个变量

    4.文件回收:

        f.close    # 这是在关闭操作系统级别占有的内存

    5.文件的处理方法:

         ①文本文件:只读模式,文件不存在报错  

         read    readable    readline    readlines   

         扩展:光标的移动seek

        ②文本文件:只写模式,文件不存在会创建,文件存在则会清空文件内容

        write    writeable    writelines

        ③文本文件:只追加写模式,   'a'     ,文件不存在则创建,存在则在文本最后添加内容

        ④b模式:bytes模式

    #rb
    # f=open('aaaa.py','rb')
    # print(f.read().decode('utf-8'))

    # f=open('1.jpg','rb')
    # data=f.read()

    #wb
    # f=open('2.jpg','wb')
    # f.write(data)


    # f=open('new_3.txt','wb')
    # f.write('aaaaa '.encode('utf-8'))

    #ab
    f=open('new_3.txt','ab')
    f.write('aaaaa '.encode('utf-8'))

    6.上下文管理:不用担心文件的close

    # with open(r'aaaa.py','r',encoding='utf-8') as read_f,
    # open(r'aaaa_new.py','w',encoding='utf-8') as write_f:
    # data=read_f.read()
    # write_f.write(data)

      

    7.#循环取文件每一行内容

      with open('a.txt','r',encoding='utf-8') as f:
    # while True:
    # line=f.readline()
    # if not line:break
    # print(line,end='')

    # lines=f.readlines() #只适用于小文件
    # print(lines)
    for line in f: #推荐使用
             print(line,end='')



    8.文件的修改

    #方式一:只适用于小文件
    # import os
    # with open('a.txt','r',encoding='utf-8') as read_f,
    # open('a.txt.swap','w',encoding='utf-8') as write_f:
    # data=read_f.read()
    # write_f.write(data.replace('alex_SB','alex_BSB'))
    #
    # os.remove('a.txt')
    # os.rename('a.txt.swap','a.txt')


    #方式二:
    import os
    with open('a.txt','r',encoding='utf-8') as read_f,
    open('a.txt.swap','w',encoding='utf-8') as write_f:
    for line in read_f:
    write_f.write(line.replace('alex_BSB','BB_alex_SB'))

    os.remove('a.txt')
    os.rename('a.txt.swap','a.txt')
     
  • 相关阅读:
    Windows各系统关闭更新(winXP/win2003/win7/win8/win2012/win10)
    SSH框架搭建与整合
    Servlet转发和重定向response.sendRedirecte()区别 (转)
    el 表达式用法(转)
    数组和集合(collection)调用syso输出时,结果不一致问题
    Java 接口和抽象类可以被new么?
    Dbutils
    dbutils使用---QueryRunner(query_update)、BeanListBeanHandler、MapListMapHandler、ScalarHandler
    Hadoop参数:fs.defaultFS、 dfs.name.dir 、 dfs.data.dir
    工厂设计模式(三种)详解
  • 原文地址:https://www.cnblogs.com/liuwei0824/p/7230846.html
Copyright © 2011-2022 走看看