文件的基本操作

2020-01-17 10:35:34 浏览数 (2)

假设文件名为:loga.txt        内容为:你说什么呢

1 -- open() 打开文件

  参数1: 要打开的文件路径  文件名

  参数2: 打开方式

    r   ---- 只读模式,文本必须存在

r ---- 读写模式,文件必须存在( 常用这种方式操作文件 )

    w  ---- 只写模式,不能调用read()进行读操作,如果打开一个已存在的文件,会先清空内容

    w ---- 读写模式,如果打开一个已存在的文件,会先清空内容

    a ---- 追加模式,不能调用read()进行读操作,在文件的末尾汉添加内容,如果文件不存在,会自动创建

a ---- 追加读模式,在文件的末尾添加内容,如果文件不存在,会自动创建( 常用这种方式操作文件 )

    rb 、wb 、ab ,这种是二进制模式打开或者读取,一些音乐文件

    常用的是 r  和 a  这二种方式进行文件操作

代码语言:javascript复制
fp = open('loga.txt',mode='r ',encoding='utf-8')

#先读一次文件内容,将光标设置到文件末尾,然后在进行写入操作
fp.read()  

fp.write("bbbbbbbbb")
fp.close()


#执行后文件的内容:
#你说什么呢bbbbbbbbb

2 -- read() 读取文件内容

  参数:读取的字符数量,默认全部读取

代码语言:javascript复制
fp = open('loga.txt',mode='r ',encoding='utf-8')

print(fp.read(3))

fp.close()

#结果:
#你说什

3 -- readline() 只读取一行内容

  每调用一次,就会读取一行的内容,然后将光标设置到下一行的开始位置

  注意:该函数会自动给读取到的内容后加一个 换行符 

代码语言:javascript复制
#文件内容:
#你说什么呢
#12345
#好好的

fp = open('loga.txt',mode='r ',encoding='utf-8')

print(fp.readline())
print(fp.readline())
print(fp.readline())

fp.close()

#执行结果:
#你说什么呢
#
#12345
#
#好好的

4 -- readines() 

  将文件内容按照行的方式进行读取,返回一个列表,每一行内容为一个元素

代码语言:javascript复制
#文件内容如下:
#你说什么呢
#12345
#好好的

fp = open('loga.txt',mode='r ',encoding='utf-8')

print(fp.readlines())

fp.close()


#结果:
#['你说什么呢n', '12345n', '好好的']

5 -- write() 写入文件内容

代码语言:javascript复制
fp = open('loga.txt',mode='r ',encoding='utf-8')

#先读一次文件内容,将光标设置到文件末尾,然后在进行写入操作
fp.read()

fp.write("aaa")
fp.close()

6 -- close() 关闭文件

   操作完文件后,必须进行关闭,否则容易出错

---------------------------操作文件光标的函数---------------------------

1 -- seek() 设置光标的位置

  参数:0 表示将光标设置到文件开始位置

  注意:该函数是按照 字节 的方式进行设置在utf-8环境下,一个中文字符占用3个字节,英文字符占用1个字节

2 -- tell()  返回当前光标的所在位置

---------------------------自动调用关闭文件的功能写法---------------------------

在很多时侯,会有可能在操作完文件后,忘记调用close函数进行关闭,python提供了一个自动关闭文件的方法

支持同时打开多个文件,用 ' , '号隔开

代码语言:javascript复制
with open('loga.txt',mode='r ',encoding='utf-8') as fp:
    print(fp.read())

执行完 print函数后,会自动调用close进行关闭文件操作。

---------------一次打开二个文件,进行操作

代码语言:javascript复制
with open('loga.txt',mode='r ',encoding='utf-8') as fp,open('loga.txt',mode='r ',encoding='utf-8') as fp2:
    print(fp.read())
    print(fp2.read())

0 人点赞