python学习--文件操作

计算机中的文件是以二进制保存在磁盘上的

  • 文本文件和二进制文件
    • 文本文件
      可以使用 文本编辑软件 查看
      本质上还是二进制文件
    • 二进制文件
      二进制文件是给机器阅读的
  • 操作文件的基本函数
    在这里插入图片描述
    注意:如果忘记关闭文件,会造成系统资源消耗,而且会影响到后续对文件的访问。

我们先要知道操作一个文件的大致步骤,就是先打开文件,然后对文件进行操作,最后关闭。这也可以说就是一个套路性的东西。还要说的就是上面的后三个函数需要通过文件对象调用。

语法说了也是比较迷,下面直接看一个例子。

 # 1. 打开 - 文件名需要注意大小写
file = open("README")

#2. 读取
text = file.read()
print(text)

#3. 关闭
file.close()
           

上边的这个例子就是一个简单的文件操作,而其中的file就是一个文件对象。

  • 文件指针
    • 在文件的读取过程中会有一个标记此时读到的位置的东西–>文件指针
    • 文件指针 标记 从哪个位置开始读取数据
    • 第一次打开 文件时,通常 文件指针会指向文件的开始位置
    • 当执行了 read 方法后,文件指针 会移动到 读取内容的末尾

这里需要说一下的是,当执行完read函数的时候,这个时候文件指针是在末尾的,换句话说就是如果此时再次执行read这个函数是读不到任何东西的。

  • 打开文件的方式
    在这里插入图片描述
    上面的操作不加任何参数的话,默认是只读的。如果想指定其他的操作,需要增加参数。
    注意:频繁的移动文件指针,会影响文件的读写效率,开发中更多的时候会以 只读、只写 的方式来操作文件。
    看下面的一个简单例子
#打开文件
f = open("README", "w")

f.write("hello python!\n")
f.write("洛尘曦")

#关闭文件
f.close()
  • 按行读取
    这里需要说一个方法,就是readline方法,它也是用文件对象进行操作的,这个方法一次只读一行数据。
  • 为啥要使用readline方法

我们知道磁盘(也就是硬盘)cpu的交换数据是需要通过内存条的,也就是说,每一次读文件时会把数据加载到内存中,这个时候一个小文件还好,如果是一个很大的文件就会占用内存,如果一行读一次的话,这个问题就可以解决了。

看下面的这个例子

#打开文件
file = open("README")

while True:
    # 读取一行内容
    text = file.readline()

    # 判断是否读到内容
    if not text:   # 这个条件是判断是否文件读完,如果读完就跳出循环
        break

    # 每读取一行的末尾已经有了一个 `\n`
    print(text, end="")

#关闭文件
file.close()
  • 下面看一下文件复制的小例子
file_read = open("sgyz.txt")
flie_write = open("sgyz[复件].txt", "w")
text = file_read.read()
flie_write.write(text)

file_read.close()
flie_write.close()

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
上面的代码将sgyz.txt文件复制了一份,当然如果要是大文件的话,要用readline函数。

  • os模块
  • 这个os包是对文件进行的创建、重命名、删除、改变路径、查看目录内容、……等操作,换句话说其实就是用终端命令
  • 使用之前需要先导入这个包
    下面是文件操作
    在这里插入图片描述
    下面是目录操作
    在这里插入图片描述

注意: 这里的文件目录到支持绝对路径和相对路径

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值