文件操做的相关

文件操做

1.对文件内部的内容进行操做

1.open("文件路径",mode = "模式",encoding = "编码")

文件路径:

1.绝对路径函数

E:\studyP\day1\123.py 这就是绝对路径编码

2.相对路径spa

相对于当前这个程序所在的⽂件夹⽽⾔,同一文件夹下的文件blog

..\day1\123.pyip

模式: w r a b w+ r+ a+ wb rb ab

w:写,只能写模式内存

r:读,只读模式utf-8

a:追加,只能写模式文档

w+:写读模式

不多用,由于不管是先写仍是先读,w+会把原来的文本所有删除而后在写入或读取,写入后 光标在文本末尾class

r+:读写模式

r+读写模式:一开始就写操做的话,写的数据会覆盖掉对应的开头数据,而且写入的是字节test

r+读写模式,若是你进行读操做后,在写操做的话,会在文本的末尾写上数据,写入的也是字节,与光标无关

 

a+:追加读模式

a+追加读模式,不管是一开始就进行写操做仍是先进行读操做再写都是在文件的末尾增 加数据

b:bytes,这里处理文件的时候是字节,用于处理非文本文件的时候有带b的

wb:写字节

rb:读字节

ab:追加字节

下面的通常用于断点

w+b:

r+b:

a+b:(用于断点续传)

2.光标

r:光标在开头

w:光标在开头(由于w的缘由文件里面的内容都被干掉了)

a:光标在末尾

r+:光标在开头

w+:光标在开头(由于w的缘由文件里面的内容都被干掉了)

a+:光标在末尾

 

3.调用函数r

f = open("../day1/files1/test.txt",mode = "r",encoding = "utf-8")

f.read() #读取整个文件,这里注意若是文件过大会形成内存溢出

f.read(3) #读取文件的第三个字节

f.readline() #读取文件的一行

 

 

 

 

 

为何会出现这个问题呢?由于readine读完文档后以\n结尾,print执行完后也是以\n结尾,就 会致使两个\n一同出现的局面,下面给个更直观的数据

 

咱们能够经过strip()来删除空格和\n

readline还能够循环迭代:

这里迭代其实是调用readline()

 

f.readlines() #读取文件的全部行,这里注意若是文件过大会形成内存溢出

f.seek() #移动光标

seek(offset[,whence]),offset是偏移量,也就是光标移动的字节数,whence,可选,默认值为 0,表示光标要从哪一个位置开始偏移,0表示从文件开头开始偏移,1表示从光标当前位置开 偏移,2表示从文件末尾开始偏移.

f.trancate() #截取文件,默认为把光标后面的数据干掉,也能够指定位置截断,单位是字节

 

2.修改文件以及另外一种打开文件的方式

1.使用os模块对文件及其文件内容进行操做和修改

相关文章
相关标签/搜索