0703学习笔记 文件读写2

文件:在python是一种内存对象类型 

            通过open函数和file函数创建的 通过函数返回一个对象 这个对象就是文件对象


open函数能接受3个参数:文件名、打开模式、缓冲区大小。

其中后两个是可省的,当只有文件名以只读的方式打开文件,也就是只能读取不能写入。


打开模式包括

r:   只读模式,相当于不写。缺省。如果文件不存在,则抛出错误)

w:  写入模式,此时会先将文档清空。如果文件不存在,则自动创建文件

r+: 读写模式(可读可写),此时不清空文档,写入内容会被加在文件开头

w+:读写模式,此时会清空文档

wb:二进制模式写入

a:   附加到文件末尾


读取 input = open('/tmp/spam','r')声明一个变量input调用open函数传两个参数

          两个参数分别是(指定的文件路径和名称,文件模式)

          input = open('data','r')r是指读取

          input = open('data')与上一行相同'r'是默认值

          astring=input.read()把整个文件读进单一字符串

          astring=input.read(N)读取之后的N个字节(一个或多个)到一个字符串

          astring=input.readline()读取下一行(包括行末标点符)到一个字符串 

          alist=input.readlines()读取整文件到字符串列表

写入  output = open('/tmp/spam','w')

          output.write(astring)写入字符串到文件

          output.writelines(alist)把列表内所有字符串写入文件

          output.close()手动关闭(当文件收集完成时会替你关闭)

          output.flush()把输出缓冲区刷到硬盘中,但不关闭文件

          anyfile.seek(N)修改文件位置到偏移量N处以便进行下一个下操作


line.rstrip()删除末位空格

parts=line.split(“n”)以n为划分来拆分



下图是斜杠打反了无法换行!



这个是正确的

读取某一行分离split





面这个eval和bytes用法不太懂



pickle模块  直接在文件中存储任何python对象

原本把对象作为字符串存为文件中,再把文件字符串读出再转为对象。

F=open('datafile.txt','w')

import pickle

pickle.dump(D,F)

F.close()

F=open('datafile.txt')

E=pickle.load(F)

                        E

struct模块  是构造并解析打包二进制的数据

F=open('data.bin','wb')

import struct

bytes=struct.pack('>i4sh',7,'spam',8)

bytes

'\x00\x00\x00\x07spam\x00\x08'

F.write(bytes)

F.close()

F=open('data.bin','rb')

data=F.read()

data

'\x00\x00\x00\x07spam\x00\x08'

values=struct.unpack('>i4sh',data)

values

(7, 'spam', 8)


______________________________

import一个命令exists

将文件名字符串作为参数,如果文件存在的话,它将范围True, 否则将范围False 



________

问题是

   bytes用法

   eval用法


评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值