python中文件的读写和操作

文件读取和操作

  对文件的操作一般分为三种情况:打开文件,读取文件(读取)和关闭文件。再python中对文件的默认操作方法时open(),默认open()是打开文件并且是只读模式。具体的操作如下:

  •   r:只读模式
  •   w:只写模式  【不可读,不存在就新创建,已存在就清空内容替换】
  •   x:只写模式  【不可读,不存在就新创建,已存在就报错】
  •   a:增加模式  【可读,不存在就新创建,已存在就增加内容】

“+”表示可以同时读写某个文件:具体: 

  •   r+:读写
  •   w+:写读
  •   x+:写读
  •   a+:写读

 

具体案例如下:

针对-----w:只写模式  【不可读,不存在就新创建,已存在就清空内容替换】

1、先查找文件是否存在
2、如果文件不存在,那么就先创建文件

f=open('log.txt','w')  # 1、先查找log.txt文件是否存在,
f.write('hello sun')  #2、如果不存在,就会新建一个log.txt文件,并将hello sun写进文件中
f.close()

  输出结果:

 

 3、如果文件存在,如果是w模式,那么就会将文件中原有的内容替换掉(将之前的内容删掉,再写新的内容进去);当然替换的过程我们是看不见的,只能看见结果。

这是我们再来用代码实现一下(一样的代码再运行一下,只要改写一下f.write(world)即可):

f=open('log.txt','w')  #先查找log.txt文件是否存在,
f.write('world')  #如果存在,就会直接将log.txt文件里面的hello sun替换成world
f.close()

  输出结果:

 

针对---a:增加模式  【可读,不存在就新创建,已存在就增加内容】

f=open('log.txt','a',encoding='utf-8')  #加入中文时,注意乱码就加一个encoding='utf-8'

f.write(' 今天也要元气满满')   #空格加到第一行的后面

f.write('\n今天也要元气满满') #加到下一行

f.close()

     输出结果:

 

针对---r:只读模式(有以下三种方式)

(1)读取文件所有的内容:

f=open('log.txt','r',encoding='utf-8')  #乱码就加一个encoding='utf-8'
print('读取文件所有的内容:',f.read())

 输出结果:

 

(2)只读取第一行的内容:

f=open('log.txt','r',encoding='utf-8')  #乱码就加一个encoding='utf-8'
print('读取文件第一行的内容:',f.readline())

  输出的结果:

 

(3)读取所有的内容:

f=open('log.txt','r',encoding='utf-8')  #乱码就加一个encoding='utf-8'

for item in f.readlines():
    print(item.strip()) #strip()去掉空格
f.close()

  输出结果:

 

PS:with上下文,内部会进行文件的关闭处理,不需要担心忘记close。

with open('log.txt','r',encoding='utf-8') as f:
    print(f.read())

  输出结果:

 

posted @ 2021-09-16 14:41  就不将就就  阅读(1056)  评论(0编辑  收藏  举报