python学习day14

python学习day14,第1张

python学习day14 python学习day14

1.计算机存储空间分为:运行内存和磁盘两种
程序中产生的数据默认都是保存在运行内存中,
存储在运行内存中的数据在程序结束后会自动销毁
如果将数据保存到磁盘中,那么数据除非手动删除或者磁盘损坏,
否者会一直存在
数据持久化指的是将程序中的数据以文件的形式保存到磁盘中。

a = 100
b = [‘abc’, ‘mn’, ‘xy’]

2.常见数据持久化工具

数据库(.db .sqlite)、json文件(.json)、
xml文件(.xml)、plist文件(.plist)、
普通文件(.txt)、excel文件(.xls、.xlsx)、csv文件(.csv)

文件 *** 作 - *** 作文件内容 1.文件 *** 作基本流程 打开文件 - *** 作文件(读 *** 作、写 *** 作) -> 关闭文件 1)打开文件

“”"
open(file, mode=‘r’,*,encoding=None) -
以指定方式打开指定文件,返回一个文件对象
1)参数file - 文件路径,用来确定打开的是哪个文件
a.绝对路径:文件在计算机中的全路径
b.相对路径:用.表示当前目录(当前目录指的是当前代码文件所在的目录)
用…表示当前目录的上层目录
2)参数mode - 字符串,文件打开方式,决定打开文件后能做什么(读or写),
决定 *** 作文件的时候数据的类型(二进制or字符串?)
第一组值:- 决定打开文件后能做什么(读or写)
r - 只读
w - 只写;打开的时候回清空原文件(覆盖)
a - 只写;打开的时候保留原文件内容(追加)
第二组值:- 决定 *** 作文件的时候数据的类型
t - 字符串(str)
b - 二进制(bytes)
注意:给mode赋值的时候必须在两组值中每一组选一个,
如果给第二组不选就相当于选的’t’
‘r’ == ‘rt’ == ‘tr’
‘w’ == ‘wt’ == ‘tw’
‘rb’ == ‘br’
注意:所有的文件都可以用b的方式打开,
只用文本文件才能用t打开
注意:以读的方式打开一个不存在的文件程序会报错,
以写的方式打开一个不存在的文件不会报错,
并且会自动创建这个文件。
3)encoding - 文本文件编码方式,使用的时候一般设置成’utf-8’
注意:a.一般不需要设置这个值,默认和电脑默认编码方式一致。
b.如果是以b的方式打开文件,一定不能给encoding赋值

“”"

1)文件路径 open(r’D:桌面关于开放性人格对大学生创业能力的影响文献综述2.docx’) open(r’./files/a.txt’) open(r’./files/zwb.txt’) open(r’…/new-day14/files/a.txt’) 2)打开方式 - f = open(’./files/a.txt’, ‘r’) f.read() f.write() f = open(’./files/a.txt’, ‘a’) f.read() f.write(“zxz”) open(’./files/b.txt’, ‘r’) open(’./files/c.txt’, ‘w’) open(’./files/d.txt’, ‘a’) 3. *** 作文件

“”"
1)读 *** 作
文件对象.read() - 从读写位置开始读到文件结尾(读写为止默认在文件开头,一次读完)
文件对象.readline() - 从读写位置开始到一行结束(一次读一行,只支持文本文件)
2)写 *** 作
文件对象.write(数据)

“”"

1)读 *** 作

f = open(‘files/a.txt’, ‘r’)
result = f.read()
print(result)
f = open(‘files/zwb.txt’, ‘r’, encoding=‘utf-8’)
result = f.read()
print(result)
print(’--------------------------------’)
f.seek(0)
for _ in range(3):
result = f.readline()
print(result)
f.seek(0)
result = f.read().split(’n’)
print(result)

2)写 *** 作

f = open(’./files/a.txt’, ‘a’)
nums = [10, 20, 30, 40]
f.write(str(nums))
f = open(’./files/a.txt’, ‘a’)
str1 = ‘明克街13号,第一序列,半仙’
f.write(str1)
“”"
4.关闭文件.close()

“”"
result = open(‘files/a.txt’).read()

f = open(‘files/a.txt’)
result = f.read()
f.close()

1.数据持久化的步骤

“”"
第一步:确定需要持久化的数据
第二步:创建合适的文件,并且确定文件的初始内容
第三步:程序中需要这个数据的时候,必须从文件中获取
第四步:当这个数据发生改变以后,必须将最新的数据更新到文件中
“”"

写一个程序打印当前程序运行的次数 year = int(input(‘请输入一个年份:’)) if year % 4 == 0 and year % 400 != 0 or year % 400 == 0: print(True) else: print(False) total = int(open(‘files/c.txt’).read()) total += 1 print(‘该程序已运行’, total, ‘次’) open(‘files/c.txt’, ‘w’).write(str(total)) 练习2: 练习3:每次运行程序输入一个学生的信息,输入完成后打印已经录入的所有学生的姓名

“”"
请输入学生姓名: 小明
[‘小明’]

请输入学生姓名: 小花
[‘小明’, ‘小花’]

请输入学生姓名: 张三
[‘小明’, ‘小花’, ‘张三’]
“”"
names = input(‘请输入一个姓名:’)
open(‘files/d.txt’, ‘a’).write(names+’ ')
total = open(‘files/d.txt’).read()
print(total)

练习3:

names = input(‘请输入一个姓名:’)
all_names = eval(open(‘files/students2.txt’).read())
all_names.append(names)
print(all_names)
open(‘files/students2.txt’, ‘w’).write(str(all_names))

欢迎分享,转载请注明来源:内存溢出

原文地址: http://outofmemory.cn/zaji/5671234.html

(0)
打赏 微信扫一扫 微信扫一扫 支付宝扫一扫 支付宝扫一扫
上一篇 2022-12-16
下一篇 2022-12-16

发表评论

登录后才能评论

评论列表(0条)

保存