Python 文件读写操作

编程中经常会涉及到数据,那么数据到哪里去找呢,或者说,我们的数据存到哪里呢,通常有两种方式

  1. 数据库
  2. 文件

正常的大型项目中数据应该都是存放在数据库中的,存放在文件中适合数据量比较小的情况,这里介绍的就是使用文件来存取数据

要读取文件,那么首先我们要新建一个文件,比如我们在我们的程序文件夹下新建一个data.txt(同文件夹是为了路径简单,同目录只写文件名就可以了),现在准备工作已经完成了,接下来用代码读取文件。

打开文件命令:

open('文件名')

这里的文件名正常应该加上路径,可以是相对路径,也可以是绝对路径,这里由于执行文件和数据文件在同一个文件夹下,所以我们可以直接写文件名就可以了,我们可以用一个变量存储这个文件对象

file = open('data.txt')

这里变量file保存了这个文件,接下来我们需要读取文件的内容,读取内容我们用read()函数来进行读取

data = file.read()

这个时候data就是data.txt里面的内容了,记得使用完毕后一定要关闭文件,关闭文件使用file.close()读取文件内容还有两个方法

  1. readline() #读取一行内容
  2. readlines() #把内容按行读取到List中

接下来说一下怎么向文件写入内容,其实写入内容和打开文件用的是一个方法,只不过Python默认的是只读,如果要写入文件的话,我们需要多写一个参数

file = open('data.txt', 'w')

这样我们就可以写文件了,写文件直接使用write函数:

file.write('this is write methed')

这样原有的文件会被覆盖掉,别忘了用完需要close:

file.close()

这里特别需要说明的是中文处理,由于计算机是美国人发明的,所以最早计算机的编码只能表示英文、数字、以及一些符号,因为要表示中文需要占用计算机更多的字节,所以编码方式会不一样,如果你想向文件中写入中文那么就需要引用一个库codecs这个库可以向文件中写入中文,具体代码如下:

import codecs

f = codecs.open(fileName, mode, encoding)

这里filename是文件名,mode是模式,读或者写之类的,然后encoding是编码方式,中文可以用utf-8

要读写文件还有一个问题就是文件操作,比如你想改文件名称之类的,要操作文件,Python中也有现成的库供我们使用,那就是os,假如我们要修改文件名称:

import os

os.path.exists(fileName)

os.rename(oldName, newName)

第一句是引入库,这个很简单,第二句是判断是否有fileName这个文件,第三句就是修改名称

最后

以动手实践为荣 , 以只看不练为耻;

以打印日志为荣 , 以单步跟踪为耻;

以空格缩进为荣 , 以制表缩进为耻;

以单元测试为荣 , 以人工测试为耻;

以模块复用为荣 , 以复制粘贴为耻;

以多态应用为荣 , 以分支判断为耻;

以Pythonic为荣 , 以冗余拖沓为耻;

以总结分享为荣 , 以跪求其解为耻;

引自啄木鸟社区