python笔记基础--文件和存储数据(7)

目录

1.从文件中读取数据

2.写入文件

3.存储数据

3.1使用json.dump()和json.load()

3.2保存和读取用户生成的数据

3.3重构


1.从文件中读取数据

|--------|-----------------------------------------------------------------------------------------------------------------------------|
| 读取整个文件 | with open('data.txt') as file_object: contents = file_object.read() print(contents) print(contents.rstrip()) #删除字符串末尾空白 |
| 文件路径 | with open('text_files//data.txt') as file_object: |
| 文件路径 | file_path = '/home/eh/data.txy' with open(file_path) as file_object: |
| 逐行读取 | with open(file_path) as file_object: for line in file_path: print(line.rstrip()) |

|-------------------------------|----------------------------------------------------------------------------------------------------------------------------------|
| 创建一个包含 文件各行内容的列表 | filename ='data.txt' with open(filename) as file_object: lines = file_object.readlines() for line in lines: print(line.rstrip()) |
| 使用文件内容 | data_string = '' for line in lines: data_string += line.rstrip() #循环加入data_string print(data_string) |
| 打印圆周率小数点后10位数 3.1415926535... | print(f"{data_string:12}...") |
| 数列中是否包含这个字段 | ...... my_data = input("输入数字,字符串是否有这个数:") if my_data in data_string: print("你的数字在这个字符串中") else: print("你的数字不在这个字符串中") |

2.写入文件

|----------------------|-------------------------------------------------------------------------------------------------------|
| 写入空文件 | file = 'abc.txt' with open(file) as file_object: file_object.write("我是一个蘑菇。") |
| 写入多行open(file, 'w') | with open(file, 'w') as file_object: file_object.write("我是一个蘑菇。\n") file_object.write("我不是一个蘑菇。\n") |
| 附加到文件open(file, 'a') | with open(file, 'a') as file_object: file_object.write("我是一个蘑菇。\n") |

3.存储数据

json能够将简单的python数据结构转储到文件中

3.1使用json.dump()和json.load()

|-------------|------------|------------------------------------------------------------------------------------------------------------|-----------------------------|
| json.dump() | 可以接受两个实参 | import json number =2,3,5 filename = 'number.json' with open(filename, 'w') as f: json.dump(number, f) | number.json文件中: 2, 3, 5 |
| json.load() | 将列表 读取到内存中 | with open(filename, 'w') as f: numbers = json.load(f) print(numbers) | |

3.2保存和读取用户生成的数据

|-----------------------------|----------------------------------------------------------------------------------------------------------------------------------------------------|---------------------|-----------------|
| | 代码 | 输出 | username.json文件 |
| 存储用户 | import json username = input("你的名字:") filename = 'username.json' with open(filename, 'w') as f: json.dump(username, f) print(f"Hello,{username}!") | 你的名字:Ann Hello,Ann! | "Ann" |
| 向已存储的用户 发出问候 | import json filename = 'username.json' with open(filename) as f: username = json.load(f) print(f"欢迎回来,{username}!") | 欢迎回来,Ann! | |
| 如用户已存储,加载他。如果没有,则提示用户输入并存储。 | import json filename = 'username.json' try: with open(filename) as f: #尝试打开username.json username = json.load(f) #如果username.json存在 except FileNotFoundError: #username.json不存在 username = input("你的名字:") with open(username, 'w') as f: json.dump(username, f) #存储 print(f"Hello,{username}!") else: print(f"欢迎回来,{username}!") |||

3.3重构

****重构:****代码能够正常运行,但通过将其划分为一系列完成具体工作的函数,还可以进行改进。

****作用:****让代码更清晰、更利于理解、更容易扩展。

相关推荐
程序员小远23 分钟前
Python自动化测试框架及工具详解
自动化测试·软件测试·python·测试工具·职场和发展·测试用例·接口测试
sleven fung1 小时前
MinerU与BabelDOC与KTransformers与OpenAI API库
开发语言·python·ai·langchain
小毛驴8501 小时前
spring-boot-maven-plugin,maven-compiler-plugin 功能对比
java·python·maven
AOwhisky1 小时前
Ceph系列第六期:Ceph 文件系统(CephFS)精讲
linux·运维·网络·笔记·ceph
萤萤七悬1 小时前
【Python笔记】AI帮实现CLI工具-使用argparse.ArgumentParser接收命令参数
开发语言·笔记·python
iCxhust1 小时前
C# 命令行指令 查看二进制文件
开发语言·单片机·嵌入式硬件·c#·proteus·微机原理·8088单板机
csdn_aspnet1 小时前
Java 霍尔分区算法(Hoare‘s Partition Algorithm)
java·开发语言·算法
诸葛务农2 小时前
道路行驶条件下电动汽车永磁电机的有效使用寿命及永磁体的失效和回收再利用(下)
java·开发语言·算法
oort1232 小时前
VLStream:全开源决策式AI视频平台,赋能企业构建自主可控、降本增效的智能视觉应用介绍
大数据·开发语言·人工智能·开源·音视频·数据库架构
c238562 小时前
c/c++中的多态(上)
开发语言·c++