python函数处理文件 python 处理文件( 三 )


15.1创建和打开文件
在Python 中创建或打开文件,实际上是建立一个对象 , 该对象通过调用内置的open()函数创建或打开一个文件 。
语法:
file object = open(filename [, mode][, buffering])
参数说明如下:
filename:file_name变量是一个包含了你要访问的文件名称的字符串值;
mode:mode决定了打开文件的模式:只读 , 写入,追加等 。所有可取值见如下的完全列表 。这个参数是非强制的,默认文件访问模式为只读(r) 。
Buffering:如果buffering的值被设为0 , 就不会有寄存;如果buffering的值取1,访问文件时会寄存行;如果将buffering的值设为大于1的整数,表明了这就是的寄存区的缓冲大?。蝗绻「褐? ,寄存区的缓冲大小则为系统默认 。
mode参数的参数值及说明
对于其中最难区别的r、r+、w、w+、a、a+几个参数的区别总结如下,要特别注意指针的位置:
下面举例说明open( )函数的使用方法 。
例1:
file=open('1.py')
如果文件“1.py”存在,则可以打开此文件;如果文件“1.py”不存在,则会出现如下提示:
Traceback (most recent call last):
File " ", line 1, in
file=open('1.py')
FileNotFoundError: [Errno 2] No such file or directory: '1.py'
例2:
file=open('4.py',’a+’)
虽然文件“4.py”不存在,但运行并未出现错误,参见上表,“a+”的含义是以读写模式打开文件,如果该文件已经存在,新内容将以追加方式写入;如果该文件不存在,则新建文件用于写入 。查看文件夹,发现已经生成了一个新的文件4.py 。
例3:
file=open('python.png','rb')
print(file)
运行结果:
这就是说 , 虽然Python可以打开一个图片格式的文件,但print()并不能将其输出,还需要第三方库中模块的相应方法去处理,如PIL中的open()f方法 。
例4:
file = open("f.txt", "w",encoding='utf-8')
# 以只写模式打开文件f.txt,编码方式为utf-8
print( "文件名: ", file.name) # 输出文件名
print( "是否已关闭 : ", file.closed) # 文件是否打开
print( "访问模式 : ", file.mode) # 文件访问模式
运行结果:
文件名: f.txt
是否已关闭 : False
访问模式 : w
例5:
15.2关闭文件
打开文件使用后要及时关闭,以免造成不必要的破坏,同时也可以释放内存 。在Python中使用close()方法可以关闭文件 。
语法格式:
file.close()
其中,file为文件对象 。
15.3 with语句
with 语句适用于对资源进行访问的场合,确保不管使用过程中是否发生异常都会执行必要的“清理”操作,释放资源,比如文件使用后自动关闭、线程中锁的自动获取和释放等 。
with语句的语法格式如下:
with expression as target:
with-body
其中,expression用于指定一个表达式,譬如打开文件的open()函数 。target用于指定一个变量,并且将expression的结果保存到该变量中 , 譬如文件对象file 。with-body用于指定with语句体,譬如一些文件操作的相关语句,如果没有要执行的语句体,则直接用pass语句代替 。
假设python当前目录下存在一个test.txt文件,其内容如下:
Python是一种解释型语言: 这意味着开发过程中没有了编译这个环节 。类似于PHP和Perl语言 。
Python是交互式语言: 这意味着,您可以在一个 Python 提示符后直接执行代码 。
Python是面向对象语言: 这意味着Python支持面向对象的风格或代码封装在对象的编程技术 。
Python是初学者的语言:Python 对初级程序员而言,是一种伟大的语言,它支持广泛的应用程序开发 。

推荐阅读