python-文件的打开方式及一般操作方法

打开方法

打开模式 执行操作
‘r’ 以只读方式打开文件(默认)
‘w’ 写入的方式打开,会覆盖已存在的文件
‘x’ 如果文件已经存在,使用此模式打开将引发异常
‘a’ 以写入模式打开,如果文件存在,则在末尾追加写入
‘b’ 二进制模式
‘t’ 以文本模式打开(默认)
‘+’ 可读写模式(可添加到其他模式中使用)
‘U’ 通用换行符支持

文件对象方法

文件对象方法 执行操作
f.close() 关闭文件
f.read([size=-1]) 从文件读取size个字符,当未给定size或给定负值的时候,读取剩余的所有字符,然后作为字符串返回
f.readline([size=-1]) 从文件中读取并返回一行(包括行结束符),如果有size有定义则返回size个字符
f.write(str) 将字符串str写入文件
f.writelines(seq) 向文件写入字符串序列seq,seq应该是一个返回字符串的可迭代对象
f.seek(offset, from) 移动光标,至from(0:文件首,1:当前,2:文件尾)offset:偏移(以字节计算)
f.tell() 返回光标当前位置
f.truncate([size=file.tell()]) 截取文件到size个字节,默认是截取到文件指针当前位置

举例:

f = open(文件名路径,打开方式,encoding ='utf-8')    #修改文件编码方式为utf-8.
f = open(add1, encoding='utf-8')

f.close() #关闭文件

等效于

with open(add1, encoding='utf-8') as f:  
	# 对文件执行操作
    for each in f:  # 遍历文件每一行
        print('each')
#此处跳出了with,对文件的操作结束,文件自动关闭

但是用第二种更好,语法更加清晰.

第一种搞不好什么时候就给你把文件自动关闭咯

查看

文件内容的查看是以光标位置进行的,所以有对于光标的指令

for each in f:
    print(each) #按行输出,文本文件一次取一行

f.read(size == -1) #从文件读取size个字符,无size货或给定负值时读取剩余所有字符(像个书签)

f.tell()      #返回当前(书签)在文件中的位置(位置按字节计算)

f.readline([size = -1]) #从文件读取一行,如果有参数size,则从文件读取光标后size个字节

f.write(str) #将字符串写入f文件

f.writelines(seq) #向文件写入字符串序列seq   

#pickle模块(集合可以将所有的类型转换为二进制永久存储)进去啥样出来还是啥样很优雅

import pickle

my_list = [123,3.14,'小甲鱼'['another list']]

# 写入.dump()
pickle_file = open('my_list.pkl','wb')      # wb:二进制写入

pickle.dump(my_list,pickle_file)        # 将my_list列表以二进制方式放入pickle_file文件

# 读取.load()
pickle_file = open('my_list.pkl','rb')      # 二进制只读打开

my_list2 = pickle.load(pickle_file)     # 将文件内容加载到列表

猜你喜欢

转载自blog.csdn.net/weixin_40960364/article/details/105667400