一日一技:python中的文件处理(01)
文件处理:
文件处理是任何Web应用程序的重要组成部分。
Python具有创建,读取,更新和删除文件的几种功能。
在Python中处理文件的是open()函数。
open()函数采用两个参数; 文件名和模式。
打开文件有四种不同的方法(模式):
“ r”-读取-默认值。 打开文件进行读取,如果文件不存在,则错误
“ a”-附加-打开文件进行附加,如果文件不存在,则创建该文件
“ w”-写入-打开要写入的文件,如果文件不存在,则创建该文件
“ x”-创建-创建指定的文件,如果文件存在则返回错误
另外,您可以指定文件以二进制还是文本模式处理:
“ t”-文本-默认值。 文字模式
“ b”-二进制-二进制模式(例如图像)
语法:
要打开文件进行读取,只需指定文件名即可:
f = open("demofile.txt")
上面的代码与下面的代码等效:
f = open("demofile.txt", "rt")
因为“ r”表示读取,“ t”表示默认值,所以不需要指定它们。
注意:确保文件是存在的,否则会报错。
在服务器上打开文件:
我们新建一个demofile.txt文本,写入测试数据:
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
要打开文件,请使用内置的open()函数。
open()函数返回一个文件对象,该对象具有一个read()方法来读取文件的内容:
新建一个demo_file_open.py:文件,写入:
f = open("demofile.txt", "r")
print(f.read())
运行结果:
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
如果我只想读取文本当中的部分数据,那么如何操作呢?
比如,我只想要文本当中的前面5个字符内容在,怎么获取呢?
f = open("demofile.txt", "r")
print(f.read(5))
输出:
Hello
读取每行
您可以使用readline()方法读取一行:
f = open("demofile.txt", "r")
print(f.readline())
输出:
Hello! Welcome to demofile.txt
通过两次调用readline(),您可以读取前两行,比如:
f = open("demofile.txt", "r")
print(f.readline())
print(f.readline())
输出:
Hello! Welcome to demofile.txt
This file is for testing purposes.
或者,也可以通过遍历文件的每一行,逐行读取整个文件:
f = open("demofile.txt", "r")
for x in f:
print(x)
输出:
Hello! Welcome to demofile.txt
This file is for testing purposes.
Good Luck!
关闭文件
在处理完成之后,记得要关闭文件。
f = open("demofile.txt", "r")
print(f.readline())
f.close()
输出:
Hello! Welcome to demofile.txt
注意:您应该始终记得要关闭文件,在某些情况下,由于缓冲的原因,只有在关闭文件后,才会显示对文件所做的更改。
待续........