打开APP
userphoto
未登录

开通VIP,畅享免费电子书等14项超值服

开通VIP
python的文件操作与异常处理

 将一些知识点记录一下,有事没事看一眼。

文件读取: open
  1. import os  
  2.     os.getcwd() #取得当前的执行路径  
  3.     os.chdir('C:/Users/ourgame/Desktop/headFirstPython') #进入某个路径  
  4.       
  5.     data = open('sketch.txt')    #打开文件  
  6.     print(data.readline(),end='') #读取一行,文件指针会向下移动  
  7.     print(data.readline(),end='') #此句与上句输出不一样  
  8.     data.seek(0)    #data指针返回到文件起始位置  
  9.     for each in data:  
  10.         print(each,end='')    #输出整个文件  
  11.     data.close() #关闭文件  



文件内容的处理:split
  1. for each_line in data:   
  2.      (role,line_spoken) = each_line.split(':')  
  3.      print(role,end='')  
  4.      print(' said: ',end='')  
  5.      print(line_spoken,end='')  



异常处理:try except
python 面对错误的逻辑与其他语言不同。它放任错误的发生并在异常中处理它,并不会在主逻辑中添加更多的逻辑处理。
  1. try:  
  2.     data = open('sketch.txt')  
  3.    
  4.     for each_line in data:  
  5.       #  if each_line.find(":") > -1:  
  6.         try:  
  7.                 (role,line_spoken) = each_line.split(':',1)  
  8.                 print(role,end='')  
  9.                 print(' said: ',end='')  
  10.                 print(line_spoken,end='')  
  11.         except ValueError:  
  12.             pass  
  13.    
  14. except IOError as err:  #使用as将异常对象,并将其赋值给一个标识符  
  15.     print('File Error:'+str(err)) #‘+’用于字符串直接的连接  
  16.    
  17. finally:  
  18.     if 'data' in locals():  
  19.         data.close()  



或使用with(无需使用finally)

  1. try:  
  2.     with open('its.txt','w') as data:  
  3.         print("it's...",file=data) #输出默认为sys.stdout  
  4. except IOError as err:  
  5.     print("File Error:"+str(err)) #str()将对象转换为字符串  

with也可以复合使用:
  1. with open("a.txt",'w') as a_out,open("b.txt",'w') as b_out:  

pass语句就是Python的空语句或NULL语句,它什么也不做。

    这是一个思路的转变:随之你必须考虑的错误越来越多,”增加额外代码和逻辑“的方案复杂性也随之增加,直到最后可能会掩盖程序的本来作用。而异常处理方案就不存在这个问题,可以一目了然地看出程序的主要作用。
    通过使用Python的异常处理机制,你可以关注代码真正需要做什么,而不必担心哪里可能出问题,并编写额外的代码来避免运行时错误。谨慎的使用try可以让代码更易阅读,更易写,而且可能这是最重要的——出问题时候更容易修正。
    要重点关注你的代码需要做什么。

写文件:以写的模式打开文件

  1. out = opne("data.txt","w")  
  2. print("test data",file=out)  
  3. out.close()  

使用

w : 文件已存在则清空文件内容。
a : 追加到一个文件。
w+: 打开文件读写,不清除。
b : 以二进制操作

检查文件中是否存在某个变量:locals()
  1. if 'data' in locals():  
  2.     xxxxxx  


调用多个缺省参数时,可指定相应的 参数名=值 来确定某个参数:
  1. print("abc",file=myout)  

去除字符串的空格:strip()方法可以从字符串中去除不想要的空格

格式化存储(腌制):pickle、用dump储存、用load恢复
  1. import pickle  
  2.     ......  
  3. with open('mydata.pickle','wb') as mysavedata: #要以二进制操作  
  4.     pickle.dump(['a','b'],mysavedata)  
  5.     ......  
  6. with open('mydata.pickle','rb') as my_restore_data: #以二进制取  
  7.     a_list = pickle.load(my_restore_data)  
  8. print(a_list)    #一旦数据回到程序中,就可以像任何其他数据对象一样操作了  

其异常的格式为:
  1. except pickle.PickleError as per:  
  2.     print("Pickel Error:"+str(per))  

做持久化存储,使用pickle的通用文件I/O才是上策。

本篇博客出自阿修罗道,转载请注明出处:http://blog.csdn.net/fansongy/article/details/8986616


本站仅提供存储服务,所有内容均由用户发布,如发现有害或侵权内容,请点击举报
打开APP,阅读全文并永久保存 查看更多类似文章
猜你喜欢
类似文章
【热】打开小程序,算一算2024你的财运
超详细的Python文件操作知识
python文件操作
Dave Python练习八--文件和输入输出
给妹子讲python-S01E09文件操作小意思
15.python文件(file)方法详解
把json格式数据写入到本地文件
更多类似文章 >>
生活服务
热点新闻
分享 收藏 导长图 关注 下载文章
绑定账号成功
后续可登录账号畅享VIP特权!
如果VIP功能使用有故障,
可点击这里联系客服!

联系客服