• day4-python基础知识<文件操作>


    Python 文件操作

    前言
    1、文件的保存
    数据保存在内存,关机后就没了
    数据想持久化保存,保存在硬盘/磁盘即可

    2.打开文件函数p2与p3区别。
    Python
    2打开文件file()、open()两个函数都可以,Python3打开文件只有open()函数

    3.
    文件打开模式。共9种,读r、写w、追加a模式,open("a.txt","w") 参数1文件名,参数2打开模型

    
    
    1)写模式w。
    # -打开文件不存在,默认在当前路径新建一个文件
    # -文件存在&&有内容,写入时,直接删除全部内容后,再写入当前
    # -文件不存在&&写入内容,直接新建且写入内容
        f = open("a.txt","w")
    f.write("你好呀")
    f.close()
    注意问题:
    -win乱码问题。window默认字符集编码方式GDK,写入中文后可能是乱码,解决win写入文件乱码的问题,open参数后添加
    -write()与wrtelines()区别。前者只能写字符串,后者list直接写入,不用循环,有多少写多少,但list必须是str类型,因为writelines()底层调用的还是write()方法

    
    
    2)读模式r。不写默认是r模式。只能读不能写,文件不存在会报错
    f = open("a.txt","r",encoding="utf-8")
    result = f.read()
    f.close()
    print(result)

    
    
    3)追加模式a。只能写不能读
    # a 追加写模式,不能读取,需关闭文件
    f = open('b.txt','a')
    res = f.read()
    print(res)
    # 不支持读模式,运行会报错:io.UnsupportedOperation: not readable
    '''
    1.-文件不存在,则新建文件
    2.-文件不存在&&写入操纵,创建文件,且执行写入内容
    3.文件存在&&有内容,指针默认指向文件内容尾部,追加写入
    '''
    f = open('f.txt','a')
    f=f.write('哈哈')          # 文件指针读取所有内容后放在,内容末尾


    # r
    + 读写模式 ''' -文件不存在时,报错,无此文件 -文件存在,无内容,直接写入 -文件存在,有内容,指针在最前面,直接覆盖写入对应长度的字符,无法保留文本完整内容 ''' f=open('d.txt','r+',encoding='utf-8') res = f.write('000')


    # w
    + 写读模式。能读,读不到内容,因为先清空。。 ''' -无文件,创建文件,并写入 -有文件,先清空文件内容,再写入。无法读取原文本内容 ''' f=open('1.txt','w+',encoding='utf-8') res = f.write('1')


    # a
    + 追加读模式 ''' -无文件,创建文件,并写入 -有文件,尾部换行后,写入。该方式支持读写,常用方式 ''' f=open('2.txt','a+',encoding='utf-8') res = f.write('1')

    
    文件读写方法
    f = open('2.txt')
    print(f.read())                 # 一次读取全部内容
    
    print(f.readlines())        # 列表形式,一次性读取文件所有内容,一次性读取,如果文件大的哈,非常占内存,不建议使用,建议使用对象的方式,逐行读取
    # ['第一行
    ', '第二行']
    
    print(f.readline())         # 每次只读取一行
    ——————————————————————————————————
    3、文件指针。f.seek()
    read()与readline()区别?
    f.readlines() #读取所有内容,返回list
    f.read() #读取所有内容,返回字符串
    注,如果同时调用read()和readline(),那个函数在后,那个读取为空,因为read()已经读完了所有内容,两个函数之间添加文件指针,既可保证两个函数都可以输出内容
     
  • 相关阅读:
    EA教程 (四) SQLHelper类
    详解包含、扩展和泛化
    几种常用的单例模式详解
    我的分层
    EA教程(二)数据库
    软件版本号如何定义
    精解PV操作之信号量
    eclipse连接数据库驱动汇总
    [Leetcode 17] 13 Roman to Integer
    Short term goal for 2013 rest time
  • 原文地址:https://www.cnblogs.com/lily-20141202/p/10029429.html
Copyright © 2020-2023  润新知