浅谈零基础教程总结30天--day11

一、文件

1.文件都有后缀,不同的后缀表示不同的存储方式

文本文件(存文字信息) —-.txt, .word, .md等

二进制文件:视频文件、音频、图片 —-.mp4, .mov, .avi, .mp3, .png, .jpg, .gif等

可执行文件等 —-.exe, .api, .dmg等

步骤(对所有的文件操作有效):
1.打开文件
2.对文件进行读/写操作(读:获取文件内容  写:修改文件内容)
3.关闭文件
打开的模式: 'r'->文本读(以读的形式打开,只能获取内容,不能修改文件内容)
           'w'->文本写 (以写的形式打开,只能修改文件内容,不能获取文件内容)
           'a'->文本写
           'br'->二进制读
           'bw'->二进制写
           'ba'->二进制写
f = open('./files/aaa.txt', 'r', encoding='utf-8')
注意:对同一个文件句柄对象进行读操作,每读一次内容,下次再读的时候,从上次读的结束的位置往下读
# read(): 获取文件中所有的内容,并且返回
# 文本文件读取的结果是字符串
# reslut = f.read()
# print(reslut, type(reslut))

read(n): n->指定读取的文本长度(-1:读全部内容, n大于长度:读取所有内容)

result = f.read(20000)

print(result)

readline(): 每次读一行内容

readlines(): 让文件中所有的内容读出来(将每一行的内容作为列表的元素返回的

f.seek(0)设置读写位置为文件的开始: 后边进行读操作的时候,就是从文件开始的位置往后读
# 注意: 偏移量一般设置为0
f.close() 执行完以后关闭文件

2.修改文件内容

f = open('test.txt', 'a', encoding='utf-8')
# write(写的内容): 文本文件中写的内容是字符串
# 注意: 'w'-> 写的时候会覆盖原文件的内容  'a' -> 在原来的内容的后面去追加内容
with open() as 文件变量:
with open('test.txt', 'r', encoding='utf-8') as f:
    print(f.read())

二、二进制文本文件

二进制文件的读
# bytes类: python中的二进制数据对应的类型是bytes --> data
with open('./files/chuangxu.png', 'br') as f:
    data = f.read()
# 二进制文件的写
# 'ba':无追加效果
with open('./files/new.png', 'bw') as f:
    # data需要是bytes类型的数据
    f.write(data)

三、Json文件

json文件: 就是后缀是.json的文件,用来存储文本数据(以特殊的语法结构来存储文本信息)
最外层要么是字典结构,要么是数组(列表)结构
里面的数据:字符串、数字、二进制、字典、数组(列表)
json文件的读写:python中使用python内置模块json来对json数据进行操作
import json

# 读取json文件中的内容:
# json.load(f):读的结果只有两种情况:要么是字典、要么是列表
with open('./files/myjson.json','r', encoding='utf-8') as f:
    result = json.load(f)
    print(type(result))
    print(result)
json文件的写操作:
# son.dump(写的内容,f): 写的内容只能是字典或者列表
with open('./files/myjson.json', 'w', encoding='utf-8') as f:
    # dict1 = {'aaa': 100, 'score': 99, 'person': {'name':'王海飞', 'age':30}}
    # json.dump(dict1, f)

    # list1 = [10, 20, 'a', 'abc']
    # json.dump(list1, f)

    tuple1 = (10, 20, 'abc')  # 写进去还是列表
    json.dump(tuple1, f)

    # json.dump('abcnd', f)
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值