文件:

文件是操作系统给用户提供一个操作计算机硬盘的一个简易接口

文件操作:

    对文件进行读、写、关闭操作。

 

1.python代码操作文件:

f = open(文件路径)

f.read()  # 读取文件中的所有文件,返回的是一个字符串类型

f.write() # 向文件中编写内容,返回的是写入的字符串里面字符个数

f.close()  # 关闭文件系统  返回值为None

 

文件路径

相对路径:必须有一个参照物,通常是相对于执行文件所在的文件夹位置

绝对路径:类似于GPS全球定制,不需要任何参照物。

注意:输入文件名路径时,当输入的文件路径为绝对路径,而这时文件名中有(\+字母),这种组合中有属于转移字符,为了让计算机不把这种组合不当作转移字符,有两种方式,一种是在\后面或前面在加一个\,或者在整个路径有单引号‘’括起来,前面加u即可

1. r'D:av\ttt\xxx\ooo\rrr\1.txt'   绝对路径
2. 'D:av\ttt\xxx\ooo\\rrr\1.txt'   绝对路径
3. ‘1.txt’ 相对

 

F = open(文件路径,mode = ‘r or w or t (t or b)’,encoding = ‘utf-8’)

文件操作模式:

r:只读模式

1.当打开一个不存在文件名时,会报错

2.如果打开的文件存在,则只能对文件进行读操作,不能执行其他操作

w.只写模式

1.当打开一个不存在文件时,系统默认在执行程序所在位置文件夹内新建该文件,只能对该新文件进行写操作,不过会把文件里面的内容先清空,然后再写入。不能执行其他操作。

2.当打开的文件存在时,只能对文件进行写操作,不过会把文件里面的内容先清空,然后再写入。不能执行其他操作。

t.只追加模式

1.当打开的文件不存在时,系统默认在执行程序所在位置文件夹内新建该文件,然后可以对该新文件进行写操作。此时打开文件后,光标会移动到文件内容末尾

2.当打开的文件存在时,可以对该文件进行写操作。此时打开文件后,光标会移动到文件内容末尾。

 

文件操作单位:

t:文本模式

1.只能和r/w/a连用,不写的情况下,默认就是t

b:原生的二进制数据

1.只能和r/w/a连用

2.该模式通常用来处理非文本文件

3.直接存储网络上传过来的二进制数据

 

为了让我们避免每次打开一个文件后忘记close这个文件,用到了另一个方法,该方法当open文件结束后,会自动close这个文件。该方法为上下文管理

 

文件的上下文管理

格式

With open(‘文件名路径’,mode = ‘r or w or t (t or b)’,encoding = ‘utf-8’) as  f1:

    ………

Pass

当想打开多个文件时,可以在后面追加

With open(‘文件名路径’,mode = ‘r or w or t (t or b)’,encoding = ‘utf-8’) as  f1,\

Open (‘文件名路径’,mode = ‘r or w or t (t or b)’,encoding = ‘utf-8’) as  f2:

    pass

内置方法:

f.read(x)   #返回的是字符串中下标索引x之前的字符串(顾头不顾尾)

f.readline(x)  # 返回的是一行字符串,只显示下标索引x存在的当行前面的内容

f.readlines(x)  # 返回的是一个字符串列表,只显示下标索引x存在的当行所有内容以及前面的内容。

f.write(str)  返回值为写入的字符串长度。写完后,行标在文件内容末尾

f.writelines(iterable)  #返回值为None. X为一个可以for循环的容器,例如:字符串列表[‘’,‘’,‘’]

f.readable()  返回bool值  是否可读。

f.writeable()  #  返回bool值 是否可写

 

 

 

 

 

 

f.tell()  # 返回的是一个整型,该值表示行标所在的位置,里面没有参数,按字节计算,换行符都算。比如:当打开一个新文件时,f.tell返回值为0.

 

 

 

 

 

 

 

f.seek(offset,whence)  # 改变行标 在默认情况下都是以文件的开头为参照物进行移动的。以二进制文件进行操作。返回的是行标所在的位置

1.默认值时0,表示从文件开头开始计算指针的偏移的量(简称偏移量)。这时offset必须是大于0的整数

2.当whence = 1时,表示从当前位置开始计算偏移量。如果offset 是负数,表示从当前位置向前移动(左边),如果offset是正数,表示向后移动(右边)。

3.当whence = 2,表示相对文件末尾移动,只能在b模式下使用,offest为负值时向左移动,正值时向右移动,没有显示空

注意:f.seek(x),f.tell(x),f.read(x),f.read(x),f.readline(x)  里面X都是按字节来使用的,当遇到中文字符是需要注意。

 

 

 

 

 

 

 

 

其他模式填充

r+、W+、a+

r+

1.以读写方式方式打开文件,可对文件进行读和写操作,当文件里面有内容时,写的时候默认从文件内容末尾添加,不会从行标所在位置往后添加

 

 

 

 

 

 

W+

1.打开文件的同时,先清除文件里面的内容,然后再以读写方式打开文件

 

 

 

 

 

 

 

 

 

 

 

a+

1.以读写方式打开文件,并把文件指针移动到文件末尾

 

posted on 2019-07-08 21:20  "莫欺少年穷  阅读(175)  评论(0编辑  收藏  举报