文章详情

短信预约-IT技能 免费直播动态提醒

请输入下面的图形验证码

提交验证

短信预约提醒成功

Python文件操作和数据格式实例分析

2023-06-30 16:27

关注

这篇文章主要介绍“Python文件操作和数据格式实例分析”,在日常操作中,相信很多人在Python文件操作和数据格式实例分析问题上存在疑惑,小编查阅了各式资料,整理出简单好用的操作方法,希望对大家解答”Python文件操作和数据格式实例分析”的疑惑有所帮助!接下来,请跟着小编一起来学习吧!

一、文件操作

前言:

什么是计算机的流?

"流"指的是在不同的输入/输出等设备(键盘、内存、显示器、音响等)之间进行传递数据。

例如:在Python中使用input()函数,就会产生数据经过键盘流输入到存储器。

print() 就会有数据从存储器中流出到屏幕。所以流实际上就是一个字节序列。

就如同管道中的水 “流来流去”;

1、文件的基本操作

Python中可以通过内置函数open()打开文件 函数定义格式如下:
open(file,mode,buffering)

参数说明:

  • file : 表示文件的路径

  • mode : 文件打开的模式

  • buffering : 设置访问文件的缓冲方式,若设置

  • 0 : 表示非缓冲方式

  • 1 : 每次缓冲衣阿华那个世俗据

  • 大于1 : 表示使用给定值作为缓冲区的大小

文件打开模式

打开模式含义说明
r/rb只读模式以只读的方式打开文本文件/二进制文件,如果文件不存在或找不到,open()调用失败
w/wb只写模式以只写的方式打开文本文件/二进制文件,若文件不存在,则创建文件;文件已存在 ,清空文件。
a/ab追加模式以只写的方式打开文本文件/二进制文件,只允许在文件末尾追加数据,若文件不存在创建文件
r+/rb+读取模式以读/写的方式打开文本文件/二进制文件,如果文件不存在,open()调用失败
w+/wb+写入模式以读/写的方式打开文本文件/二进制文件**,如果文件存在,则清空文件**
a+/ab+追加模式以读/写的方式打开文本文件/二进制文件,只允许在文件末尾添加数据,若文件不存在,则创建文件。

???? 到了写代码环节,兄弟们操练起来。耍 ! 耍 ! 整起 !

''' 演示 : Python中内置函数open() 打开文件 文件的操作属于IO操作 记得释放资源'''file1 = open('a.txt') #只读模式打开文件a.txt 若文件不存在,则报异常FileNotFoundErrorfile2 = open('b.txt','w') #只写模式打开文件b.txt 文件不存在则创建 文件存在则覆盖file3 = open('c.txt','w+') #读写方式打开 文件不存在则创建 文件存在则覆盖#释放资源file3.close()file2.close()file1.close()

???? 每次使用文件都得调用open()和close(),很是麻烦,若打开和关闭的操作次数较多,容易忘记close()次操作,就会造成资源的浪费。为此Python引入了 with语句实现close()方法的自动调用。

定义格式如下:

with open('a.txt') as file:代码段

2、读文件

常用的方法

方法描述
read()从指定文件中读取指定字节的数据
readline()从指定文件中读取一行数据
readlines()从指定文件中的数据一次读出,并将每一行视为一个元素,存储到列表中。

???? 到了写代码环节,兄弟们操练起来。耍 ! 耍 ! 整起 !

file = open('a.txt','r')#读文件#str_ = file.read(5) # 读取五个字符#print(str_)#readline# str2 = file.readline()# print(str2) # 第1次读取 读取第一行# str3 = file.readline()# print(str3) # 第二次读取 读取第二行#readlinessstr4 = file.readlines()print(str4) # 返回的是一个列表file.close()

3、写文件

常用的方法

方法描述
write()方法中的参数str表示要写入文件的字符串
#1.打开文件file = open('b.txt','w+') #以读写方式打开文件#2.写入数据file.write("Hello \nWorld")#3.释放资源file.close()"""问题:    有的开发环境可能搭配在缓冲设备当中 所以调用write()方法可能出现数据未写入解决:    这里介绍三种方式:            1.修改open函数中的buffering参数            2.刷新缓冲区            3.释放资源"""#1.修改open函数中的buffering参数# file2 = open('demo.txt','w+',1)  # 设置为1 表示每次缓冲一行数据# file2.write("Hello \nWorld")#2.刷新缓冲区# file3 = open('demo.txt','w+',encoding="utf-8")# file3.write("你好 \n世界") #写入中文会乱码 这个时候指定编码# file3.flush() #默认情况下,缓冲区堆积满了才会自动刷新,手动调用缓冲区将会被立即清空,将数据写入到文件#3.关闭文件with open('demo.txt','w+',encoding="utf-8") as file4: #with open的方式将自动关闭文件    file4.write("嗨嗨")
文件读写位置操作
"""文件读写位置:    Python中提供了获取文件读写位置以及修改读写位置的方法,以实现位置随机读写    介绍一系列的方法:        tell() 获取文件当前的读写位置        seek(offset,from) 控制文件的读写位置            参数解释:                offset : 偏移量 即读写位置需要移动的字节数                from : 指定读写位置   该参数的赋值分别为 0 1 2                    0 : 从文件开头                    1 : 表示使用当前读写位置                    2 : 文件末尾"""#演示上述# with open('demo.txt','r+',encoding='utf-8') as file:#     location = file.tell()#     print(location)#     str1 = file.read(5)#     print(str1)file2 = open('a.txt',encoding='utf-8')file2.seek(5,0) #文件开头进行偏移#若打开的是文本文件 seek方法只允许相对于文件开头移动位置 form参数为1 2时将报错# file2.seek(4,1) #io.UnsupportedOperation: can't do nonzero cur-relative seeks#若要进行读写位置或文件末尾进行位移操作 要以二进制的形式打开文件file3 = open("a.txt",'rb')num3 = file3.seek(3,2) #16print(num3)file3.close()

4.os模块的使用

除了Python内置函数外,os模块中定义了文件操作相关的函数,包括了删除、创建、重命名等文件。使用之前先导入

import os

os模块
import os #1.文件重命名 remove(oldName,newName) # os.rename('a.txt',        'new.txt') #2.创建/删除文件夹 # os.mkdir('create_dir')# 默认路径下创建目录 注意:    目录不能重名!! 否则将创建失败!!!# os.rmdir('create_dir') #3.删除文件 # os.remove(        'b.txt') #4.获取当前目录 str = os.getcwd() print(str) #5.获取目录列表 list = os    .listdir("./")#. / 表示当前目录下 print(list)

文件的迭代

"""什么是迭代?    迭代就是一个过程的多次重复,Python中实现了__iter__()方法意味着对象都是可迭代对象(字典 序列、文件等等)"""file_name = input("请输入文件名")file = open(file_name,encoding="utf-8")for f in file:    print(f,end=" ")file.close()

运行效果
Python文件操作和数据格式实例分析

二、JSON

什么是JSON
JSON简介:JSON的全称为JavaScript Object Nation(JavaScript 对象表示语法),
基于 ECMAScript,存放的是的类似于键值对,本质上来说是javascript的数据类型,是一种轻量级的数据交互格式
Python中提供对Json的支持
dumps() 将Python对象 --> JSON字符串
loads() JSON --> 对象

Python对象JSON对象
dictobject
list, tuplearray
str, unicodestring
int, long, floatnumber
Truetrue
Falsefalse
Nonenull
"""什么是JSON    JSON简介:JSON的全称为JavaScript Object Nation(JavaScript 对象表示语法),    基于 ECMAScript,存放的是的类似于键值对,本质上来说是javascript的数据类型,是一种轻量级的数据交互格式    Python中提供对Json的支持        dumps() 将Python对象 --> JSON字符串        loads() JSON --> 对象"""#导入json模块import json#json格式数据strList="[1,2,3,4]" #json数组strDict='{"price":38.6,"author":"佚名"}'print(type(strList)) #<class 'str'>#json数组-->python列表p_list=json.loads(strList)print(p_list) #<class 'str'>print(type(p_list),len(p_list)) #<class 'list'> 4#json对象-->python字典p_dict = json.loads(strDict)print(p_dict,type(p_dict)) #<class 'dict'>print('-'*60)#json格式数据listStr=[1,2,3,4] #python列表tupleStr=(1,2,3,4)#元组dictStr={"price":38.6,"author":"佚名"}#python列表-->json字符串(数组)list1 = json.dumps(listStr)print(list1,type(list1)) #<class 'str'>#python元组-->json数组tuple1 = json.dumps(tupleStr)print(tuple1,type(tuple1)) #<class 'str'>#python字典-->json对象dict1 = json.dumps(dictStr)print(dict1) #{"price": 38.6, "author": "\u4f5a\u540d"} 默认使用acsii码print(type(dict1)) #<class 'str'>dict2 = json.dumps(dictStr,ensure_ascii=False)print(dict2)

到此,关于“Python文件操作和数据格式实例分析”的学习就结束了,希望能够解决大家的疑惑。理论与实践的搭配能更好的帮助大家学习,快去试试吧!若想继续学习更多相关知识,请继续关注编程网网站,小编会继续努力为大家带来更多实用的文章!

阅读原文内容投诉

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

软考中级精品资料免费领

  • 历年真题答案解析
  • 备考技巧名师总结
  • 高频考点精准押题
  • 2024年上半年信息系统项目管理师第二批次真题及答案解析(完整版)

    难度     813人已做
    查看
  • 【考后总结】2024年5月26日信息系统项目管理师第2批次考情分析

    难度     354人已做
    查看
  • 【考后总结】2024年5月25日信息系统项目管理师第1批次考情分析

    难度     318人已做
    查看
  • 2024年上半年软考高项第一、二批次真题考点汇总(完整版)

    难度     435人已做
    查看
  • 2024年上半年系统架构设计师考试综合知识真题

    难度     224人已做
    查看

相关文章

发现更多好内容

猜你喜欢

AI推送时光机
位置:首页-资讯-后端开发
咦!没有更多了?去看看其它编程学习网 内容吧
首页课程
资料下载
问答资讯