一.文件对象和open()函数:
内置函数open()用于打开或创建文件对象,语法格式如下:
f=open(file,mode=‘r’,buffering=-1,encoding=None)
file是要打开或者创建的文件名,如果文件不在当前路径,需指出具体路径;mode为打开文件的模式;
buffering表示是否使用缓存(默认值为-1,表示使用系统默认的缓存大小);encoding是文件的编码。open()函数返回一个文件对象f.
在使用open是可以指定打开文件的模式'r'只读,'w'写入,删除之前的内容,'x'创建文件,若存在,则会导致FileExistsError等,最后面会详解。
在写代码之前,我们先创建文件(至关重要的步骤!)
1 .打开一个硬盘(不推荐C盘),创建一个文件(尽量简短)
我是在G盘建立了一个文件~
2.打开文件,然后打开记事本在里面随便写点内容
我给的文件名是qq,从简嘛
3.然后将这个文件拖到stan文件夹中
file_a=open('g:/stan/qq.txt','r') a=file_a.read() print(a) file_a.close()
运行结果为
#hello,world!!
也就是我们刚才写的内容,还是比较简单的
但是在文件操作时容易产生异常,而且最后需要关闭文件(file_a.close()),故一般用try…except…finally语句,在try语句块中执行文件的相关操作,使用except捕获可能发生的异常,在finally语句中确保关闭打开的文件
try: lisi=open('g:/stan/qq.txt','r') except: print('出错啦!!') finally: a=lisi.read() print(a) lisi.close()
为了简化操作,python语言中与资源相关的对象可以实现上下文管理协议。也就是会用到with语句
with content [as var]
在执行with语句时,首先调用上下文对象context的__enter__(),其返回值赋给var;离开with语句块时,最后调用context的__exit__(),确保释放资源。
文件独享支持使用with语句,确保打开的文件自动关闭。
with open(file,mode) as f :
上代码演示,上面的栗子的变式
with open('g:/stan/qq.txt','r') as f: for i in f : print(i) f.close()