• Python学习杂记_7_文件操作


    文件操作

    Python3用open()方法打开文件并返回文件句柄,有了文件句柄就可以对文件进行各种操作了。

    打开文件:

    open(“文件名” , 打开方式)            如: f=open(“file.txt”, ‘r’)

    # 文件名通常是文件全名,即有路径和扩展名的文件名,如果没有写路径默认为当前路径

    # 打开方式决定了文件打开后的状态及如何操作:

    r                 # 只读方式(默认的模式,打开的文件不存在会报错)

    w               # 只写方式(不可读,文件不存在则创建,存在则清空内容)

    a                # 追加写方式(不可读,文件不存在则创建,存在则追加内容)

    r+               # 可读、可写;可追加,如果打开的文件不存在的话,会报错

    w+             # 写读模式,存在的文件内容会被清空,可以读到已经写的文件内容

    a+              #追加读写模式,不存在则创建;存在则只追加内容

    文件操作的常用方法:

    f = open('file.txt','r+',encoding='utf-8')    #encoding参数可以指定文件的编码

    f.readline()                 # 读一行,返回数据的类型为‘字符串’

    f.readable()                # 判断文件是否可读

    f.writable()                 # 判断文件是否可写

    f.encoding                  # 返回文件的编码

    f.read()                        # 读取所有内容,返回数据的类型为‘字符串’

    # 大文件时不要用,因为会把文件内容都读到内存中,内存不够的话,会把内存撑爆

    f.readlines()               #读取所有文件内容,返回数据的类型是‘列表’,元素是每行的数据,大文件时不要用

    # 因为会把文件内容都读到内存中,内存不够的话,会把内存撑爆

    f.tell()                          # 获取当前文件的指针指向

    f.seek(0)                     # 把当前文件指针指向哪

    f.write('爱情证书')  # 写一个字符串到文件

    f.writelines([‘123’,’456’,’789’])                  # 写一个列表到文件

    f.fulsh()                       #写入文件后,立即从内存中把数据写到磁盘中

    f.truncate()                #清空文件内容

    f.close()                       # 关闭文件

    高效读取文件的方法,是利用循环遍历读取文件的行:

    f = open('file.txt')

    for line in f:

      print(line)

    # line是每行文件的内容,读完一行,就会释放一行的内存

    使用with结构:

    文件操作结束后需要关闭文件释放系统资源,但关闭文件常常会被忘记,使用whith方法后文件会被自动关闭。

    #打开一个文件,把这个文件的句柄付给f

    with open('file.txt','r') as f:               

    for line in f:

                 print(line)

    #这个是多文件的操作,打开两个文件,fr是读file.txt,fw是新建一个file_bak文件

    with open('file.txt') as fr,with open('file_bak','w') as fw:                   

    for line in fr:                       # 循环file.txt中的每一行

                 fw.write(line)               #写到file_bak文件中

  • 相关阅读:
    netty之微信-Netty 环境配置(四)
    netty之微信-Netty 是什么?(三)
    netty之微信-IM简介(二)
    netty之微信-效果展示(一)
    为什么选择netty?
    [转]Python调用(运行)外部程序
    聚会游戏
    JavaScript点击事件-一个按钮触发另一个按钮
    文本框输入事件:onchange 、onblur 、onkeyup 、oninput
    js如何使两个input里的内容实时变化
  • 原文地址:https://www.cnblogs.com/victory-0315/p/8617358.html
Copyright © 2020-2023  润新知