Python文件操作

Python-文件相关操作

open()

open(filename, mode) 返回一个文件对象fileobject

f = open(filename, 'r')
f.close()

filename 是文件的路径,mode 是打开的方式,有以下几种

mode function
r 只读
w 只写
a 追加
r+ 可读写
b 以二进制方式打开

+b可以和其它字符组合成mode,例如rb以二进制只读方式打开

mode参数是可选的,如果没有默认是r

Note:文件打开之后应当被及时关闭,可以查看f.closed属性以确定文件是否被关闭

with

使用with可以保证文件在结束with语句块的时候被关闭

with open(filename, 'r') as f:
    # do something
# 自动关闭
print(f.closed)

文件对象

方法

f.read(size)

读取指定大小的数据,返回一个string,如果size未指定,则读取全部数据

f.readline()

读取一行,返回的string末尾有一个\n

如果想读取多行,可以遍历文件对象

for line in f:
    print(line, end='')

读取每一行作为列表的元素可以用f.readlines() 或者list(f)

f.write(string)

将string写入文件,返回写入的字符数

f.tell()

返回一个指示当前文件对象位置的整数

f.seek(offset, from_what)

调整文件位置

offset是以from_what为参考的偏移大小,可正可负

from_what有3个取值:

0--文件开头

1--当前位置

2--文件结尾

如果省略from_what,则默认是0

例如:

f.seek(-1, 2) # 倒数第一个字符
f.seek(3) # 文件开始后的第四个字符

使用json存储

可以使用json格式存储python里的数据,列表,元组和字典等。使用前需要import json

encode

json.dumps(object)

返回json格式的字符串,例:

li = [1, 2, 3]
print(json.dumps(li))
---
[1, 2, 3]

json.dump(object, f)

将object存入文件

decode

object = json.load(f)

从文件读入并解析对象

你可能感兴趣的:(Python文件操作)