读写文件

假如某个程序需要输入很多数据,比如一次考试的全班学生成绩,再这么输就略显痛苦了。一个常见的办法就是把学生的成绩都保存在一个文件中,然后让程序自己从这个文件里取数据。

要读取文件,先得有文件。我们新建个文件,就叫它data.txt。在里面随便写上一些话,保存。把这个文件放在接下来你打算保存代码的文件夹下,这么做是为了方便我们的程序找到它。准备工作就绪,可以来写我们的代码了。

打开一个文件的命令很简单:

file('文件名')

这里的文件名可以用文件的完整路径,也可以是相对路径。因为我们把要读取的文件和代码放在了同一个文件夹下,所以只需要写它的文件名就够了。

f = file('data.txt')

但这一步只是打开了一个文件,并没有得到其中的内容。变量f保存了这个文件,还需要去读取它的内容。你可以通过read()函数把文件内所有内容读进一个字符串中。

data = f.read()

做完对文件的操作之后,记得用close()关闭文件,释放资源。虽然现在这样一个很短的程序,不做这一步也不会影响运行结果。但养成好习惯,可以避免以后发生莫名的错误。

完整程序示例:

f = file('data.txt')

data = f.read()

print data

f.close()


读取文件内容的方法还有

readline() #读取一行内容

readlines() #把内容按行读取至一个list中

去替换程序的第二行,看看它们的区别。


但python默认是以只读模式打开文件。如果想要写入内容,在打开文件的时候需要指定打开模式为写入:

f = file('output.txt', 'w')

'w'就是writing,以这种模式打开文件,原来文件中的内容会被你新写入的内容覆盖掉,如果文件不存在,会自动创建文件。

不加参数时,file为你默认为'r',reading,只读模式,文件必须存在,否则引发异常。

另外还有一种模式是'a',appending。它也是一种写入模式,但你写入的内容不会覆盖之前的内容,而是添加到文件中。

打开文件还有一种方法,就是open(),用法和file()是一致的。

写入内容的方法同样简单:

f.write('a string you want to write')

write的参数可以是一个字符串,或者一个字符串变量。

示例程序:

data = 'I will be in a file.\nSo cool!'

out = open('output.txt', 'w')

out.write(data)

out.close()

在你的程序保存目录下,打开output.txt就会看到结果。

你可能感兴趣的:(读写文件)