day13包和文件操作

day13包和文件操作

1.包的使用

1.什么是包

包:在python中用来专门管理py文件文件夹,并且在这个文件夹中有一个特殊的文件_init_.py

普通文件夹:项目中的普通文件夹主要是用管理项目需要的非代码文件

2.怎样使用包

采用导入的方式来使用包;导入的方式有四种:

1)* import 包名 -导入后可通过**‘包名.’*去使用_init_.py中定义的所有全局变量

*2)import 包名.模块名 - 导入后通过’包名.模块名.‘*去使用指定模块中的全局变量

3)from 包名 import 模块名 -导入指定包中指定模块,导入后可以通过*’模块名.‘*去使用模块中的全局变量

4)from 包名.模块名 import 变量1,变量2,…- 导入指定包中的指定模块中的指定变量,此变量可直接使用

3. _init_.py文件

1.可在此文件中设置指定默认导入的模块或者模块中的变量

2.定义一些通用的函数

2.文件操作

1.文件操作

1.数据持久化
  • 程序使用和产生的数据一般都默认保存在运行内存中,当程序结束后,运行内存中的数据自动销毁
  • 如果想要数据不销毁只有通过文件存储到硬盘中
  • 将数据保存在硬盘中就是数据持久化,数据不能放到硬盘中,必须通过文件才能办到
  • 编程时常见的文件类型:txt、json、plist、数据库
2.文件操作

1)文件操作的基本步骤:打开文件->操作文件(读操作、写操作)->关闭文件

2)打开文件

open(file,mode=‘r’,*,encoding=None)

(1)file—绝对路径:文件在计算机中的全路径

​ 相对路径:. - 当前目录(当前目录指的是当前写打开文件的代码的文件所在的目录)

- 当前目录的上一层目录

-当前目录的上一层目录的上一层目录

(2)mode —文件打开方式(决定打开文件后支持的操作是读还是写;决定操作的数据对象是字符串还是二进制)

决定读写方式的值:r、w、a

r - 只读
w - 只写;打开后会清空原文件中的内容
a - 只写;打开后不会清空原文件中的内容

决定操作的数据类型:t(默认值)、b

t - 读到的内容和写入文件中的内容是字符串类型
b - 读到的内容和写入文件中的内容是bytes(二进制)类型

注意:打开文件的时候mode必须在这两组值中每一组选一个,如果第二组的值不选表示选的t

(3) encoding - 文本文件编码方式,一般赋值为 ‘utf-8’
注意: 读写时编码方式要一致,只有文本文件在以 ‘t’ 的形式打开的时候才能设置encoding

2.文件的读写

1.打开文件

以读的形式打开一个不存在的文件,会报错!

以写的形式打开 一个不存在的文件,不会报错,并且会自动创建这个不存在的文件

2.关闭文件

文件对象.close()

注意:文件关闭以后不能再对文件进行操作

自动关闭文件的写法

with open() as 文件对象:

​ 文件作用域

3.操作文件

1)读操作

a.文件对象.read() - 从文件读写位置开始,读到文件结尾

b.文件对象. readline() - 读一行(从读写位置开始,读到一行结束);只能用于文本文件的读操作

c.文件对象.readlines() - 用于读取所有行(直到结束符 EOF)并返回列表 该列表可以由 Python 的 for… in … 结构进行处理。如果碰到结束符 EOF 则返回空字符串。,

with open('sources/aaa.txt', encoding='utf-8') as f:
    result = f.readlines()
    print(result)    # ['床前明月光,\n', '疑是地上霜;\n', '举头望明月,\n', '低头思故乡。']

2)写操作

文件对象.write(数据)

a.在文件最后追加新的内容,用’a‘

with open('sources/test.txt', 'a', encoding='utf-8') as f:
     f.write('\n请添加内容')

b.在文件最开头添加新的内容

# 练习:删除原文件第三行的内容
with open(r'sources\aaa.txt',encoding='utf-8') as f:
    re=f.readlines()
    if len(re)>=3:
        re.pop(2)
    new_re=''.join(re)

with open(r'sources\aaa.txt','w',encoding='utf-8') as f:
    f.write(new_re)

作业:数据持久:登录注册

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值