python的持久化存储文件操作

2022-08-22 10:56:59

一、文件的基本操作:

什么是文件:日常的我们的信息都记录在纸上,在计算机上相应的记录在硬盘上。
文件的作用:存储数据

# 1. 打开文件"""
在python,使用open函数,可以打开一个已经存在的文件,或者创建一个新文件。
open(文件名,访问模式)   e.g. f = open('test.txt', 'w')
如果文件不存在那么创建,如果存在那么就先清空,然后写入数据
要读取二进制文件,比如图片、视频等等,用'rb', 'wb', 'ab'等模式打开文件即可

mode:
    r: 只能读文件
    w: 只能写入(清空文件内容)
    a+: 读写(文件追加写入内容)
"""
f=open('doc/hello.txt',mode='a+')# 2. 文件读写操作
f.write('java\n')# 3. 关闭文件:文件使用完毕后必须关闭,因为文件对象会占用操作系统的资源,并且操作系统同一时间能打开的文件数量也是有限的:
f.close()

查看file对象的属性:
在这里插入图片描述
file对象的常用方法:
在这里插入图片描述

二、with语句:

with语句:python中的with语句使用于对资源进行访问的场合,保证不管处理过程中是否发生错误或者异常都会自动执行规定的(“清理”)操作,释放被访问的资源,比如有文件读写后自动关闭、线程中锁的自动获取和释放等。

# ****with语句withopen('doc/test.txt','w+')as f:
    f.write('hello world\n')# 写入文件
    f.seek(0,0)# ****: 移动指针到文件最开始print("当前指针的位置:", f.tell())
    f.seek(0,2)# 移动指针到文件末尾print("当前指针的位置:", f.tell())print(f.read())# 读取文件内容"""
seek的用法:
seek(offset, from)有2个参数:  offset:偏移量  from:方向  
	0:表示文件开头; 
	1:表示当前位置; 
	2:表示文件末尾
"""

在这里插入图片描述

三、os模块:

os,语义为操作系统,处理操作系统相关的功能,可跨平台。

1、关于操作系统:

在这里插入图片描述

import  osimport platform# 1. 获取操作系统类型print(os.name)# 2. 获取主机信息,windows系统使用platform模块, 如果是Linux系统使用os模块"""
try: 可能出现报错的代码
excpt: 如果出现异常,执行的内容
finally:是否有异常,都会执行的内容
"""try:
    uname= os.uname()except Exception:
    uname= platform.uname()finally:print(uname)# 3.获取系统的环境变量
envs= os.environ# os.environ.get('PASSWORD')print(envs)# 4. 目录名和文件名拼接# os.path.dirname获取某个文件对应的目录名# __file__当前文件# join拼接, 将目录名和文件名拼接起来。
BASE_DIR= os.path.dirname(__file__)
setting_file= os.path.join(BASE_DIR,'dev.conf')print(setting_file)

2、关于路径(上文):

在这里插入图片描述

3、关于文件和目录的操作:

在这里插入图片描述

4、文件的重命名和删除:

  • os模块中的rename()可以完成对文件的重命名操作。
    rename(需要修改的文件名, 新的文件名)

  • os模块中的remove()可以完成对文件的删除操作
    remove(待删除的文件名)

    文件的批量操作
    在当前目录新建目录img, 里面包含100个文件, 100个文件名各不相同(X4G5.png):
    在这里插入图片描述

四、json模块:

  • JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式。它基于ECMAScript的一个子集。
  • JSON采用完全独立于语言的文本格式,但是也使用了类似于C语言家族的习惯(包括C、C++、Java、JavaScript、Perl、Python等)。
  • 这些特性使JSON成为理想的数据交换语言。易于人阅读和编写,同时也易于机器解析和生成(一般用于提升网络传输速率)。
import  json# 1. 将python对象编码成json字符串
users={'name':'westos',"age":18,'city':'西安'}
json_str= json.dumps(users)withopen('doc/hello.json','w')as f:# ensure_ascii=False:中文可以成功存储# indent=4: 缩进为4个空格
    json.dump(users, f, ensure_ascii=False, indent=4)print("存储成功")print(json_str,type(json_str))# 2. 将json字符串解码成python对象withopen('doc/hello.json')as f:
    python_obj= json.load(f)print(python_obj,type(python_obj))

在这里插入图片描述

拓展:存储excel文件:

import pandas
hosts=[{'host':'1.1.1.1','hostname':'test1','idc':'ali'},{'host':'1.1.1.2','hostname':'test2','idc':'ali'},{'host':'1.1.1.3','hostname':'test3','idc':'huawei'},{'host':'1.1.1.4','hostname':'test4','idc':'ali'}]# 1. 转换数据类型
df= pandas.DataFrame(hosts)# print(df)# 2. 存储到excel文件中
df.to_excel('doc/hosts.xlsx')print('success')"""
如何安装pandas?
> pip install pandas -i https://pypi.douban.com/simple
如何安装对excel操作的模块?
> pip install openpyxl -i https://pypi.douban.com/simple
"""
  • 作者:代码人的博客
  • 原文链接:https://blog.csdn.net/weixin_51052054/article/details/114069579
    更新时间:2022-08-22 10:56:59