新手学习python(五)文件操作

文件有利于数据的长久保存,因此文件操作是一个比较重要的操作。

文件打开有三种方式:读模式(默认)‘r’,写模式'w',追加模式‘a’。

再加三种双重操作模式:读写模式‘r+’,写读模式‘w+’,追加读写模式‘a+’。

==========================================================

具体说下这6种模式的不同:

读模式 r :以只读方式打开文件。文件指针将会放在文件的开头。这是默认模式。(文件不能写入,文件不存在的时候,会报错)

写模式 w:打开一个文件只用于写入。如果该文件已存在则将其覆盖。如果该文件不存在,创建新文件。(文件不能读)

追加模式 a:打开一个文件用于追加。如果该文件已存在,文件指针将会放在文件的结尾。也就是说,新的内容会被写入到已有内容之后。如果该文件不存在,创建新文件进行写入。(文件不能读)

读写模式 r+:打开一个文件用于读写。文件指针将会放在文件的开头。

写读模式 w+:打开一个文件用于读写。如果该文件已存在,将其覆盖(即会清空文件之前的内容)。如果该文件不存在,将创建新文件。

追加读写模式 a+ :打开一个文件用于读写。如果该文件已经存在,文件指针放在文件的末尾,文件打开会是追加模式。如果该文件不存在,创建新文件用于读写。

======================================

f=open(''words.txt,'r',encoding='utf-8')  #读模式打开文件,其他目录的时候,要写绝对路径

f.read()   #读文件

f.readline()  #读取每一行内容

f.readlines()  #是把文件的每一行放到一个list里面

======================================

f=open('words.txt','w',encoding='utf-8')  #写模式

f.write('aaaaaaaaaaaa')    #写入

======================================

修改文件两种方式:

第一种,简单粗暴直接

1.打开一个文件,获取到它的所有内容

2.对内容进行修改

3.清空原来文件的内容

4.把新的内容写进

例如:把文件‘username’中的‘12345’修改为‘67890’

f = open('username','a+')     #打开文件

f.seek(0)       #文件指针移到最前面

all_str =f.read()    #读取文件全部内容

new_str= all_str.replace('12345','67890')       #字符串替换

f.seek(0)    #读取内容后,文件指针移到最前面

f.truncate()    #清空文件内容

f.write(new_str)   #写入新内容

f.close()    #关闭文件

 

第二种:适合文件内容比较多的情况

1.打开两个文件

2.打开A文件,写一行到B文件

3.修改内容

4.删掉A文件,B文件改名为A文件

import os     #导入os模块

with open('words.txt',encoding='utf-8')as fr,open('.words.bak','w',encoding='utf-8')as fw:    #A文件读模式打开,B文件写模式打开

    for line in fr:                   #循环A文件内容

        new_line=line.replace(‘花’,'flower')             #修改内容

        fw.write(new_line)                  #把内容写入B文件

os.remove('words.txt')                   #删掉A文件

os.rename('.words.bak','words.txt')        #B文件进行改名

注意:fw.write()          #只能写字符串内容

 

posted @ 2018-04-19 16:30  bianbian1234  阅读(142)  评论(0编辑  收藏  举报