Python文件操作和数据格式详解(简单简洁)

目录
  • 一、文件操作
    • 1、文件的基本操作
    • 2、读文件
    • 3、写文件
    • 4.os模块的使用
  • 二、JSON
  • 总结

一、文件操作

前言:

什么是计算机的流?

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

例如:在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 若文件不存在,则报异常FileNotFoundError
file2 = 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) # 第二次读取 读取第二行

#readliness
str4 = 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) #16
print(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)

5.文件的迭代

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

运行效果

二、JSON

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

Python对象 JSON对象
dict object
list, tuple array
str, unicode string
int, long, float number
True true
False false
None null
"""
什么是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文件操作和数据格式的文章就介绍到这了,更多相关Python文件操作和数据格式内容请搜索我们以前的文章或继续浏览下面的相关文章希望大家以后多多支持我们!

(0)

相关推荐

  • 详解Python中的文件操作

    1.能调用方法的一定是对象,比如数值.字符串.列表.元组.字典,甚至文件也是对象,Python中一切皆为对象. str1 = 'hello' str2 = 'world' str3 = ' '.join([str1,str2]) print(str3) 2.三种基本的文件操作模式:r(only-read).w(only-write).a(append) 对文件进行操作的流程: 第一,建立文件对象. 第二,调用文件方法进行操作. 第三,不要忘了关闭文件.(文件不关闭的情况下,内容会放在缓存,虽然P

  • python读写文件操作示例程序

    文件操作示例 复制代码 代码如下: #输入文件f = open(r'D:\Python27\pro\123.bak') #输出文件fw = open(r'D:\Python27\pro\123e.bak','w')#按行读出所有文本lines = f.readlines()num = -1for line in lines:    str = '@SES/%i/' %num    line = line.replace('@SES/1/',str)    num = num + 1    #写入

  • Python常见文件操作的函数示例代码

    复制代码 代码如下: # -*-coding:utf8 -*- ''' Python常见文件操作示例 os.path 模块中的路径名访问函数 分隔 basename() 去掉目录路径, 返回文件名 dirname() 去掉文件名, 返回目录路径 join() 将分离的各部分组合成一个路径名 split() 返回 (dirname(), basename()) 元组 splitdrive() 返回 (drivename, pathname) 元组 splitext() 返回 (filename,

  • Python 文件操作实现代码

    open(filename,mode,buffer) 其中第一个参数是要打开的文件的文件名,必选:第二个是打开方式,可选:第三个为缓冲区,可选.默认情况下是以"读"模式打开文件.该函数返回的是流类型对象. mode有如下几种: r:读模式(默认值) w:写模式 a:追加写模式 b:二进制模式 t:文本模式(默认值) +:更新已有硬盘文件(读和写模式) U:通用换行模式(Universal new line mode) 如果到打开的文件不存在或者其他问题,会跑出IOError异常. 常用

  • python实现一组典型数据格式转换

    本文实例为大家分享了一组典型数据格式转换的python实现代码,供大家参考,具体内容如下 有一组源数据,第一行会是个日期数据,第二行标明字段,再接下来是两行数据行. 1018 14:31:30.193 Type Succ Fail sour_sm 1308 1205 data_sm 2205 3301 1019 16:32:30.201 Type Succ Fail data_sm 3308 2206 data_sm 1765 1105 1020 18:00:00.203 Type Succ F

  • Python复制文件操作实例详解

    本文实例讲述了Python复制文件操作用法.分享给大家供大家参考,具体如下: 这里用python实现了一个小型的自动发版本的工具.这个"自动发版本"有点虚, 只是简单地把debug 目录下的配置文件复制到指定目录,把Release下的生成文件复制到同一指定,过滤掉不需要的文件夹(.svn),然后再往这个指定目录添加几个特定的文件. 这个是我的第一个python小程序. 下面就来看其代码的实现. 首先插入必要的库: import os import os.path import shut

  • Python文件操作类操作实例详解

    本文讲述了Python文件操作类的操作实例,详细代码如下: #!/usr/bin/env python #!/usr/bin/env python #coding:utf-8 # Purpose: 文件操作类 #声明一个字符串文本 poem=''' Programming is fun测试 When the work is done if you wanna make your work also fun: use Python! ''' #创建一个file类的实例,模式可以为:只读模式('r'

  • Python文件操作和数据格式详解(简单简洁)

    目录 一.文件操作 1.文件的基本操作 2.读文件 3.写文件 4.os模块的使用 二.JSON 总结 一.文件操作 前言: 什么是计算机的流? "流"指的是在不同的输入/输出等设备(键盘.内存.显示器.音响等)之间进行传递数据. 例如:在Python中使用input()函数,就会产生数据经过键盘流输入到存储器. print() 就会有数据从存储器中流出到屏幕.所以流实际上就是一个字节序列. 就如同管道中的水 “流来流去”; 1.文件的基本操作 Python中可以通过内置函数open(

  • Python文件操作之二进制文件详解

    目录 1.二进制读取模式 rb读取模式 将读取到的内容写入到文件 总结 1.二进制读取模式 rt 读取文本文件(默认值) rb 读取二进制文件 file_name = "C:/Users/cheng/Desktop/can.jmx" with open(file_name, 'rt', ) as can: print(can.read()) 执行结果 rb读取模式 file_name = "C:/Users/cheng/Desktop/can.jmx" with o

  • Python常见文件操作的示例详解

    目录 从文件中读取数据 为什么要提供文件路径 逐行读取 创建一个包含文件各行内容的列表 使用文件中的内容 包含千位以上的大型文件 圆周率中包含你的生日吗 写入文件 附加到文件 从文件中读取数据 1:读取整个文件 首先创建一个文件,它包含一些文本信息,注意:如果该文件为.py文件,则再进行操作的时候可以不写路径,如果不是.py文件,则必须标明路径. 现在我们创建一个python文件,名为text.py,给他写入如下文本信息: 下面的程序打开并读取这个文件,再将其内容显示到屏幕上: with ope

  • Python API 操作Hadoop hdfs详解

    http://pyhdfs.readthedocs.io/en/latest/ 1:安装 由于是windows环境(linux其实也一样),只要有pip或者setup_install安装起来都是很方便的 >pip install hdfs 2:Client--创建集群连接 > from hdfs import * > client = Client("http://s100:50070") 其他参数说明: classhdfs.client.Client(url, ro

  • Python自动化操作Excel方法详解(xlrd,xlwt)

    目录 一.Python操作Excel 7大库对比 二.xlrd 读取excel操作 1. 打开文件 2. 获取所有表名 3. 指定sheet表 4. 对sheet表的行操作 5. 对sheet表的列操作 三.xlwt 写入Excel表操作 1. 写入单个数据 2. 写入多个数据 3. 设置列宽 4. 设置行高 5. 设置单元格风格 一.Python操作Excel 7大库对比 Excel是Windows环境下流行的.强大的电子表格应用.无论是在工作中还是学习中我们都几乎在不间断的使用Excel来

  • Node文件操作汇总实例详解

    目录 前言 文件系统 目录处理 读写文件 文件描述 监控文件 异步文件 删除文件 总结 前言 前两天我们介绍了 Nodejs 中 I/O 的重要组成部分:Buffer对象 和 Stream流,今天我们介绍 Nodejs 的文件系统,包括文件和目录的读写.删除,以及监听文件和目录的修改. 文件系统 Nodejs 内置的 fs模块 可与文件系统进行交互,封装了常规的 POSIX函数.POSIX(Portable Operating System Interface,可移植操作系统接口)是UNIX系统

  • Python文件读写open函数详解

    前言: open()函数的定义:def open(file, mode='r', buffering=None, encoding=None, errors=None, newline=None, closefd=True) 常用的参数有 file.mode.encoding file是文件名称, mode是文件的打开方式.encoding是文件编码格式 mode常见的有 只读模式®.写入模式(w).追加模式(a).读写模式(r+/w+/a+) r+要求文件必须存在:锚点置于末行末位字符处 w+

  • C语言文件操作的入门详解教程

    一.一些需要掌握的知识点 文件有千千万万,但是在我们的程序设计当中,我们谈的文件一般有两种: 1.程序文件 包括源程序文件(后缀为.c),目标文件(windows环境后缀为.obj),可执行程序(windows环境后缀为.exe). 2.数据文件 文件的内容不一定是程序,而是程序运行时读写的数据,比如程序运行需要从中读取数据的文件,或者输出内容的文件. 而在本节中,我们主要提到的是数据文件. 1.文件名 我们知道,名字都是用来标识和区别事物的,那么文件名也是这样,是区别各个文件的标识. 一个文件

  • java文件操作输入输出结构详解

    目录 一.实验目的 二.实验代码 1.使用Java的输入输出 2.使用RandomAccessFile流将一个文本文件倒置读出 3.请分别使用不带缓冲区和带缓冲区的字节流复制图片(或者音频或者视频)文件 4.请分别使用不带缓冲区和带缓冲区的字符流复制文本文件 一.实验目的 1. 掌握输入输出流的总体结构: 2. 掌握流的概念: 3. 掌握FileInputStream类.FileOutputStream类.FileReader类.FileWriter类的构造方法.常用方法的使用: 4. 了解各种

  • Python文件打开方式实例详解【a、a+、r+、w+区别】

    本文实例讲述了Python文件打开方式.分享给大家供大家参考,具体如下: 第一步 排除文件打开方式错误: r只读,r+读写,不创建 w新建只写,w+新建读写,二者都会将文件内容清零 (以w方式打开,不能读出.w+可读写) w+与r+区别: r+:可读可写,若文件不存在,报错:w+: 可读可写,若文件不存在,创建 r+与a+区别: fd = open("1.txt",'w+') fd.write('123') fd = open("1.txt",'r+') fd.wr

随机推荐