使用python的过程中肯定少不了读取文件的操作,
传统的形式是使用 直接打开、然后在操作、然后再关闭,
这样代码量稍微大些不说,一旦在操作步骤中出现报错,则无法进行文件的关闭;
首先创建一个我们要读写的txt文件
txt内容如下:
z天赐复习文件读写 博客园地址:https://www.cnblogs.com/ztcbug/
f = open('test001.txt','r',encoding='utf-8') #open 是打开的意思,()中是要打开的文件路径 'r'是只读的方式打开,打开后赋值给f,如果读取文件有中文,encoding = utf-8是编码格式 print(f.read()) #read是读取的意思,f,read() 是读取f里的所有数据,然后print输出出来 f.close() #读取后,然后再把打开的f 给关闭,close()是关闭的意思,切记一定要关闭 --------------------------------------------------------------------------------------------------------------------------------------------------------------------- 返回结果如下
z天赐复习文件读写
博客园地址:https://www.cnblogs.com/ztcbug/
这样的缺点是如果我们在关闭文件前出现了程序报错,那么打开后的文件就没有进行关闭
try: #首先try一下,如果程序打开以及在打开后读取一系列操作后有报错,则不中断程序 f = open('test001.txt','r',encoding='utf-8') file = f.read() print(file) finally: #无论try中的程序是否存在报错,则都执行下面的关闭 if f: #判断下f是否打开了,如果没打开则不需要关闭,打开了则关闭 f.close()
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- 返回结果如下
z天赐复习文件读写
博客园地址:https://www.cnblogs.com/ztcbug/
可以看到这次对基本实现进行了优化,无论是否报错,我们都对打开后的文件进行了关闭
上面那种虽然好,但是代码太不简洁了,我们可以用with open的方式来写
with open('test001.txt','r',encoding='utf-8') as f: file = f.read() print(file)
--------------------------------------------------------------------------------------------------------------------------------------------------------------------- 返回结果如下
z天赐复习文件读写
博客园地址:https://www.cnblogs.com/ztcbug/
还是用咱们刚才那个文件,刚才那个文件里的内容是 :
z天赐复习文件读写 博客园地址:https://www.cnblogs.com/ztcbug/
此时我们重新给这个文件 写入数据
f = open('test001.txt','w',encoding='utf-8') #open 打开要写入的文件,'w'就是写入的意思,如果有中文encoding进行编码 f.write('今天北京的天气非常好!!!!') #write是写入的意思,将()中的内容写入到f文件里 f.close() #写入完进行关闭
然后此时我们去看看 test001.txt 这个文件中的内容
写入成功
with open('test001.txt','w',encoding='utf-8') as f: #使用with方法 f.write('今天去吃个黄焖鸡米饭!!!!') # 直接写入 然后此时我们去看看 test001.txt 这个文件中的内容