【循序渐进学Python——文件中数据的读写以及操作】

【循序渐进学Python——文件中数据的读写以及操作】

相信大家都想过自己有一天,可以用代码去控制计算机完成一系列的操作,这样在别人看起来毫无疑问是帅帅的,所以今天我们就开始学习计算机中最重要的东西——文件,并且后面的博客中还会教大家怎么用Python来对文件进行操作.

文件

什么是文件?

  • 在计算机中只要是装载数据的物理载体都是文件

  • 数据在计算机中持久保存主要依靠的就是文件

文件的作用

  • 在计算机中如果要保存数据,必须要使用文件进行装载数据,

  • 数据在计算机中以文件的形式进行保存

  • 计算机存储数据

变量形式存储数据

  1. 通过变量类型来区分数据不同**(int,float,string,boolean…)

  2. 临时存储

  3. 储存在内存

文件形式存储数据

  1. 通过文件的后缀来区分数据不同(.txt,mp3,mp4,exe,apk…)

  2. 持久存储

  3. 储存在硬盘

两者存储的区别

  • 操作内存的效率要比操作硬盘的高

写数据

在计算机中如何进行人为在文件中写数据?

持久化保存数据情况下

1.先创建文件

2.打开创建的文件

3.写数据

实例

1.先打开一个文件
f = open("tese1.txt", mode="w+")
2.向打开的文件中写入数据
f.write("asd")
3.写完数据后关闭文件
f.close()

中文数据写入

编码格式:

  • 数据在计算机中以二进制进行存储的,二进制、八进制、十进制、十六进制对于数字之间的运算需要掌握**

日常生活中使用的数字称之为十进制:满十进一 由0-9组成

二进制由0、1组成

八进制由 0-7组成

十六进制由0-9a,b,c,d,e,f组成

计算机最初始就是用来数学计算的

数字不足以满足人类的日常需求,字母 ====》ASCII码

将常用的每个字符都通过一个数字进行代替

研究字符集 charset ====ascii码

国标 gb2312

繁体big5

中国bgk

编码:unicode(万国码) 会对中文进行使用字母代替 目前在编程中使用的万国码编码格式为utf-8

实例:

使用万国码向文件中写入汉字

content = input("请输入你想存储的内容:")
if content:
    with open("tese1.txt", "r+", encoding="utf-8") as file:
        file.write(content)

注意:

  • 如果指定的这个名称的文件不存在,那么在mode是r情况下直接报错
  • 如果指定的这个名称的文件不存在,那么在mode是w的情况下会创建这个文件
  • 如果这个名称的文件已存在,那么那么在mode是w的情况下会先清空文件然后写入数据

读数据

read

  1. 使用read()可以读取文件中的数据,前提是先要有这个文件,没有的话先新建一个文件test1.txt

  2. read(num),这个num参数表示从文件中读取的数据的长度(单位是字节),如果没有传递这个参数默认读取所有

  3. 如果文件打开之后连续读取多次指定长度字节,那么每次的读取都是从上一次读取的结束点开始计算长度的

  4. 注意:如果使用open打开文件时,如果使用的r,那么可以省略

  5. 使用readline()可以读取文件中的一行数据

  6. 使用readlines()可以将文件中的所有数据按行读取并存放在一个列表

实例:
在计算机中如何读取数据文件?
在正常操作中读数据

1.找到并打开文件

2.阅读数据

像这样吗?
s = "hello world"
print(s)

不不不,事情没我们想的这么简单!

具体的步骤是这样的。
1.先打开要读取的文件
f = open("tese1.txt", "r")
2.开始读取文件中的数据
content = f.read()
3.关闭打开的文件
f.close()
print(content)

readlines

  • readlines中的参数依然是字符个数,如果读的总数量是一行就够的时候,只读这一整行
  • 如果不够继续往下一行数,将下一行的一整行进行读取依次往下逐行进行统计
readlines的本质
  • 本质首先使用read读取所有的数据,所有数据中包含有\n换行符,然后使用split进行以“\n”分割
content5 = f.readlines(0)
content2 = f.readline()
print(content5)
print(content2)

总结

数据的读写扩展图

在这里插入图片描述

数据的读写逻辑图

在这里插入图片描述

文件的相关操作

删除文件

  • os模块中remove()就可以完成对文件的删除操作
import os
os.remove("test1.txt")

创建文件夹

  • 文件夹的本质是引用地址
import os
os.mkdir("Python")

获取当前目录

import os
os.getcwd()

修改默认目录

import os
os.chdir("Python")

获取目录列表

  • 列出指定目录中的所有文件及文件夹
import os
os.listdir("./")

删除文件夹

  • 此处的删除只能删除空的文件夹目标文件夹里面不管有其他的文件或空文件夹都不能完成操作
import os
os.rmdir("Python")

如果想将文件夹连同其内部的文件一起删除需要试用以下代码

import shutil
shutil.rmtree("Python")

注意

  • 不管是哪种删除都是将文件夹直接删除干净不会出现在windows系统的垃圾筐中
  • ctrl+z撤销删除的数据的如果保存在内存中可以进行撤销
    都不能完成操作**
import os
os.rmdir("Python")

如果想将文件夹连同其内部的文件一起删除需要试用以下代码

import shutil
shutil.rmtree("Python")

注意

  • 不管是哪种删除都是将文件夹直接删除干净不会出现在windows系统的垃圾筐中
  • ctrl+z撤销删除的数据的如果保存在内存中可以进行撤销
  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值