09-文件操作

一、文件基本概念

1、文件定义:操作系统提供给用户或者应用程序操作硬盘的一种虚拟概念(接口)

2、为何要有文件:用户或应用程序可以通过文件将数据永久保存在硬盘中,操作文件就是操作硬盘(用户或者应用程序直接操作的是文件,对文件进行的所有操作,都是在向操作系统发送系统调用,然后再由操作系统将其转换成具体的硬盘操作)

3、如何用文件:open()

            模式:(1)控制文件读写内容的模式:t(文本模式),b(二进制/bytes)

                                但是他们不能单独使用,必须要和r/w/a连用

                                t(文本,默认的模式)

                                    1、读写都是以str(unicode)为单位的

                                     2、文本文件

                                      3、必须指定encoding='utf-8'

                        (2)控制文件读写操作的模式:

                                r:只读模式

                                w:只写模式

                                a:只追加写模式

                                +:r+  w+  a+

二、文件基本操作

1、打开文件

    打开一个文件会从当前文件夹找

(对于Windows中出现的路径分隔符,推荐使用open(r'C:\a\b\c\d.txt')前面加个r,或是                open('C:/a/b/c/d.txt')全部使用/)

    使用open()有返回值<_io.TextIONrapper···>

    对于x=int(10)只占用应用程序空间,但是open()既占用应用程序空间,又占用操作系统时间,因为会向操作系统发送请求

    对于文件的操作:应用程序对于文件的读写请求都是在向操作系统发出系统调用,然后由操作系统控制硬盘把输入读入内存,或者写入硬盘。

2、文件名.read()默认使用的模式是rt

3、文件名.close(),之后便不能再读取此文件了,要记得关闭

4、with open('文件名',mode=' ') as 新名字:之后便可以使用新名字.read()即为读取文件,子代码执行后会直接执行f.close()

5、同时打开几个文件需要换行时with open('文件名',mode=' ') as 新名字1,\

                                                    with open('文件名',mode=' ') as 新名字2:

三、模式详解

    1、t文本

            1、读写都以str(unicode)为单位

            2、文本文件

            3、必须指定encoding='utf-8'(如果没有指定encoding参数,操作系统会使用自己默认的编码,linux是utf-8,windows是gbk)

            4、(补充)内存:utf-8格式的二进制解码成unicode

                                硬盘:utf-8格式的二进制

    2、r模式

            1、默认的操作模式:只读模式,当文件不存在时报错,当文件存在时,文件指针跳到开始位置

with open('c.txt',mode='rt',encoding='utf-8') as f:

    3、a模式

            1、只追加写,在文件不存在时会创建空文档,在文件存在时,文件指针会直接调到末尾

    4、比较w与a

            1、相同点:在打开的文件不关闭的情况下,连续的写入,新写的内容总是会跟在以前写的内容之后

            2、不同点:以a模式重新打开文件,不会清空原文件内容,会将文件指针直接移动到文件末尾

此处有实例:1、在文件中保存账号密码1.0版本

                附加:读出user.txt文件夹中的东西

2、2.0版本,可以一直验证,直到输对了为止


        坏处就是如果出错了,就会一直循环出现文件行个数个错误


3、注册功能



©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 一、 文件操作流程 打开文件,得到文件的对象(句柄)通过文件对象(句柄)操作文件保存并关闭文件 二、 Python...
    红衣漫漫阅读 2,425评论 0 0
  • 总结文件对象方法: 文件对象方法f.read()有参数表从开头读多少个字节,没有读取所有内容。读小文件推荐f.re...
    阿登20阅读 4,030评论 0 0
  • 一、文件操作流程 a.普通文件操作流程: 打开文件 操作文件 关闭文件 b. json文件操作流程: open(文...
    微醉那一抹殷红阅读 1,527评论 0 6
  • 应用程序如何打开文件 文件是操作系统提供给应用程序操作硬盘的一个虚拟单位用于将数据永久保存应用程序》》操作系统》》...
    范py阅读 3,106评论 0 1
  • 一、 文件操作流程 打开文件,得到文件的对象(句柄)通过文件对象(句柄)操作文件保存并关闭文件 二、 Python...
    罗马教堂的钟声_eeac阅读 1,079评论 0 0