模块,包和文件操作

导入模块原理

当代码执行到导入模块的时候,系统会自动进入指定模块,将模块中的代码全部执行一遍

如果在同一个程序中,同一个模块导入多次,对应的代码只会执行一次

包的使用
1.什么是包

包含(__ init__.py)文件的文件夹

2.怎么使用包中的模块中的内容 —怎么导入

1)import 包名 —直接导入包(这个导入方式在没有定制__ init__.py文件的时候没有意义)

2)from 包名 import 模块名1,模块名2,…

3)import 包名.模块名

4)from 包名.模块名 import 变量名,变量名2,…

3.init文件的使用

import 包名 — 通过包名可以使用的是init文件里面的内容

文件操作
1.数据持久化

计算机的存储空间分为两种:运行内存,硬盘
1)存储在运行内存的数据特点:运行程序的时候存储,程序运行自动销毁。(运行内存中的数据最带哦或一个应用程序的一个盛宁周期,一个数据存储后在下一次运行程序的时候无法使用)
程序中产生的数据默认都是默认存储在运行内存中。
2)存储在硬盘中的数据的特点:一直存在,直到认为删除或者硬盘损坏 ----持久
数据持久化----就将数据以文件的形式存储到硬盘中
如果程序运行过程中产生得数据在下一次运行程序的时候还要用,那么这个数据就需要持久化。

2.常见持久化工具 — 文件

数据库,excel文件,csv文件,json文件,plist文件,css文件,qss文件

3.文件操作 ----操作文件的内容

文件操作步骤:打开文件 ->操作文件(读,写)-> 关闭文件

1)打开文件

open(file,mode=‘r’,*,encoding=None)–以指定的方式打开指定文件返回一个文件对象

file - 字符串;需要打开的文件的路径(路径分为绝对路径和相对路径)

绝对路经:文件在计算机中的全路径(文件),比如:window,路径从盘开始

相对路径:只有当需要打开的文件在工程目录下的时候才能使用相对路径
用.表示当前目录(当前目录指的是当前写代码的文件所在的目录)
用…表示当前目录的上层目录

2)参数mode — 确定打开方式

mode的值决定:1.打开文件后能干什么(能读还是能写)2.操作文件的时候数据的类型(字符串,二进制)
mode的值由两组值组成:
第一组值:能读还是能写
r — 只读
w — 只写;会清空原文件
a — 只写;追加原文件后面(会保留原文件的内容)
注意:以读的方式打开不存在的文件程序会报错,以写的方式打开不存在的文件不会报错,并且会创建一个文件
第二组值:数据类型是二进制还是字符串
t—字符串(str)
b—二进制(bytes)
注意:打开文本文件用t,打开非文本文件只能用b

3)参数encoding—文本文件编码方式

文本创建的时候采用的是什么编码方式,打开的时候就用哪种方式
注意:如果以b的方式打开文件,不能给encoding赋值

文件读写和关闭
1.读文件

文件对象.read() —从读写位置开始,读到文件末尾(获取整个文件内容)

文件对象.readline()----读一行(只针对文本文件有效)

2.写操作

文件对象.write(数据) ----将数据写入文件中

f=open('test_file/student.txt','a')
result=f.write('\n你好')
print(result)
3.关闭文件

文件对象.close()

数据持久化
1.怎么坐到数据持久化

第一步:确定需要持久化的数据是什么
第二步:创建文件保存需要持久化的数据,并且确定文件内容的初始值
第三步:在程序中需要这个数据的时候,从文件中读数据出来
第四步:当这个数据发生改变,必须将最新的数据写入到文件中

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

假发别带歪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值