文件:因为懂你,所以永恒

2017-08-29  本文已影响0人  路人甲的世界

文件:因为懂你,所以永恒

打开文件——open

语法:open(file,mode="r",)
其中mode参数有以下几个值:

打开模式 执行操作
'r' 只读模式(默认)
'w' 以写入模式打开文件,覆盖已有文件,如果文件不存在就新建一个
'x' 如果文件已经存在,使用该模式打开将抛出异常
'a' 以写入模式打开,如果文件存在,在末尾追加写入
'b' 以二进制形式打开文件
't' 以文本模式打开(默认)
'+' 可读写模式(可添加到其他模式中使用)
'U' 通用换行符支持

注意,file参数中的路径如果遇到"",一定要再加一个""转义
,否则报错


打开文件之后的方法

文件对象方法 执行操作
f.close() 关闭文件
f.read(size=-1) 从文件读取size个字符,当未规定size或者给一个负值的时候,读取剩余所有字符然后作为字符串返回
f.readline() 以写入模式打开,如果文件存在,在末尾追加写入
f.write("str") 将字符串写入到文件
f.writelines(seq) 将文件写入字符串序列seq,seq应该是一个返回字符串的可迭代对象
f.seek(offset,from) 在文件中移动文件指针,从from(0代表文件起始位置,1代表当前位置,2代表文件末尾偏移offset个字节)
f.tell() 返回当前在文件中的位置

不关闭文件,文件无法保存

read()方法

read方法在写入模式中无效

使用该方法(不带参数)后再使用,会发现返回空值'',这是因为文件指针已经指到了文件的末尾,这时候可以使用tell()方法获取当前在文件中的位置。使用seek()方法来移动文件指针,例如使用file.seek(0,0)回到文件最初位置。

完全读取文件(使用迭代)

代码:

for each_line in file:
    print(each_line)

可以将file转换成列表,也可以直接以文件形式读取

文件的写入

注意:必须在open文件的时候选择a模式或者w模式

写入之后一定要关闭

上一篇 下一篇

猜你喜欢

热点阅读