python笔记

2013-07-11  付民 

文件:在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用法

615°/6145 人阅读/1 条评论 发表评论

夏浩淋  2013-07-11

赞 正有学python的打算~


登录 后发表评论