文件的基本操作

2019-01-01 23:21:41来源:博客园 阅读 ()

新老客户大回馈,云服务器低至5折

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

 

 

1 -- open() 打开文件

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

  参数2: 打开方式

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

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

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

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

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

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

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

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

    

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

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

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


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

 

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

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

  

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

print(fp.read(3))

fp.close()

#结果:
#你说什

 

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

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

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

#文件内容:
#你说什么呢
#12345
#好好的

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

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

fp.close()

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

 

4 -- readines() 

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

  

#文件内容如下:
#你说什么呢
#12345
#好好的

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

print(fp.readlines())

fp.close()


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

 

 

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

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提供了一个自动关闭文件的方法

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

with open('loga.txt',mode='r+',encoding='utf-8') as fp:
    print(fp.read())
    

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

 

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

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())

 

标签:

版权申明:本站文章部分自网络,如有侵权,请联系:west999com@outlook.com
特别注意:本站所有转载文章言论不代表本站观点,本站所提供的摄影照片,插画,设计作品,如需使用,请与原作者联系,版权归原作者所有

上一篇:python-day01

下一篇:楼+挑战心得