python第十三天

# 1.什么是包
"""
包含__init__.py文件的文件夹就是包
包用来对py文件(模块)进行分类或者封装
"""
# 2.怎么使用包中的模块
"""
1)import 包名.模块名
 包名.模块名.变量
 
 2)import 包名.模块名 as 新名
    对'包名.模块名'进行重命名,命名通过'新名.变量'的方式使用变量
    
3)from 包名 import 模块名1,模块名2,....
    模块名.变量
    
4)from 包名 import 模块名1 as 新模块名1,模块名2 as 新模块名2,....
    新模块名.变量
    
5)from 包名.模块名 import 变量
"""

# 3.定制包的__init__.py文件
"""
不管用什么样的方式导入包或者包中的内容的时候,系统都会先去执行__init__.py文件
"""
# 1.数据持久化
"""
1)计算机存储数据
程序中的数据默认情况下都是保存在运行内存中,保存在运行内存中的数据在程序结束后会自动销毁。
保存在磁盘中的数据,除非手动删除或者磁盘损坏,数据会一直存在。

2)持久化
将程序中的数据通过文件保存在磁盘中,这个过程就是数据持久化过程
持久化工具:普通文本文件(.txt)、数据库文件(.sqlite、.db)、json文件、plist文件、csv文件、excel文件等
"""
# 2.文件操作(操作文件内容)
"""
操作文件的基本步骤:打开文件   -> 读/写操作   ->  关闭文件
"""
# 3.python实现文件操作
# 1)打开
"""
open(file,mode,...,encoding=None)   -   以指定的方式打开指定的文件并且返回(返回的是文件对象)
#
file    -   字符串,需要打开的文件路径
            路径:
            绝对路径 -   文件在计算机中的全路径   
            相对路径 -   用 . 来代替文件全路径的部分,只写部分路径;
                            .   -   表示当前目录(当前代码文件所在的目录),可以省略
                            ..  -   表示当前目录的上层目录
                            ... -   表示当前目录上层目录的上层目录


mode    -   字符串,打开方式(决定打开文件后文件能支持的操作;决定读写数据的类型)
            'r' -   表示只读(默认)
            'w' -   表示只写,打开的时候会先清空文件
            'a' -   表示只写,打开的时候会保留原文件内容
            
            't' -   表示文本数据,对应str类型(默认)
            'b' -   表示二进制数据,对应bytes类型
            
            注意:
            1)
            以读'r'的方式打开不存在的文件的时候会报错,
            以写'w'、'a'的方式打开不存在的文件的时候不会报错,并且自动创建该文件
            2)
            如果是文本文件打开的时候可以是'b'也可以是't';
            如果是非文本文件打开的时候只能带'b'

encoding    -   设置文本文件编码方式,一般使用'utf-8'
                注意:
                1)创建文件和打开文件、读和写对应的编码方式要一致
                2)打开的时候如果带'b',不能设置encoding
"""

# ================2)关闭===================
# 文件对象.close()
# 注意:文件关闭后不能再进行读写操作


# ================3)读写操作================
"""
1.读
文件对象.read() -   从读写位置开始读到文件结尾(适用于所有文件)
文件对象.readline() -   从读写位置开始读到一行结尾(只能用于以't'打开的文本文件)

2.写
文件对象.write(数据)    -   将指定数据写入文件中(从读写位置开始写)

文件对象.seek(0) -  将读写位置移动到文件开头(读的方式打开读写位置默认在文件开头,写的方式打开读写位置默认在文件结尾)

注意:seek是无法改变写的位置的
"""
# 将数据在到最前面
f = open('files/data.txt')
result = f.read()

result = 'start!\n'+result
f = open('files/data.txt', 'w')
f.write(result)
f.close()
# 1.怎么做到数据的持久化
"""
1)创建一个文件用来保存需要持久化的数据
2)需要这个数据的时候从文件中去获取这个数据
3)如果在程序中对这个数据进行了修改,需要将最新的数据更新到文件中
"""
# 练习2:添加学生
# a.每运行一次程序添加一个学生,并且打印已经添加过的所有的学生
# b.每运行一次程序添加一个学生,并且以列表的形式打印已经添加过的所有的学生
# stu1  -> stu1        ['stu1']
# stu2  -> stu1 stu2   ['stu1', 'stu2']
# 小明   -> stu1 stu2 小明   ['stu1', 'stu2', '小明']
# ==========================a题================


# name = input('请输入学生姓名:')
# a = open('files/stu_name.txt')
# result = a.read()
# print(result + name)
# a = open('files/stu_name.txt', 'a')
# a.write(name+' ')


# ================================================

name = input('请输入学生姓名:')   # stu1

f = open('files/stu_name.txt')
result = f.read()   # '[]'
all_student = eval(result)   # []

all_student.append(name)    # ['stu1']
print(all_student)

f = open('files/stu_name.txt', 'w')
f.write(str(all_student))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值