分享一个简单的python读写文件脚本


Posted in Python onNovember 25, 2017

先来看一段创建文件并写入文本的代码,然后作介绍。

#!/usr/bin/env python 
   
  'makeFile.py -- create a file' 
   
  import os 
  ls = os.linesep 
   
  # get filename 
  while True: 
    fname = raw_input('Input an unused file name >') 
    if os.path.exists(fname): 
      print "ERROR: '%s' already exists" %fname 
    else: 
      break 
   
  # get file content lines 
  all = [] 
  print "\nEnter lines (input '.' to quit).\n" 
   
  # loop until user terminates input 
  while True: 
    entry = raw_input('>') 
    if entry == '.': 
      break 
    else: 
      all.append(entry) 
   
  # write lines to file with proper line-ending 
  fobj = open(fname, 'w') 
  fobj.writelines(['%s%s' %(x, ls) for x in all]) 
  fobj.close() 
  print 'DONE' 
   
  if __name__ == '__main__': 
    print 'innter module'

上面的代码用来创建一个新文件并写入文本,第6行给os模块中的linesep起了给别名ls,这样做的好处一方面简化了长长的变量名,另一方面也是主要原因用于提高代码性能,因为访问这个变量时首先要检测os模块,然后再解析linesep,linesep是行结束符标志,linux下是'\r',windows下是'\r\n',用本地变量保存更好。第34行使用了__name__,这主要用于代码内测试,它的值是__main__,但python文件通常作为模块被其它文件import,这时__name__的值是这个模块名,就不会执行模块内的测试代码了。

#!/usr/bin/env python 
   
  'readFile.py -- read and display file' 
   
  # get filename 
  fname = raw_input('Enter filename >') 
  print  
   
  # attempt to open file for reading 
  try: 
    fobj = open(fname, 'r') 
  except IOError, e: 
    print "***** file open error:", e 
  else: 
    # display contents to the screen 
    for eachLine in fobj: 
      print eachLine, 
    fobj.close()

上面的代码用来读文件并显示其内容到屏幕上,使用了try-except-else异常处理机制。

这里简单介绍下try的工作原理:当开始一个try语句后,python就在当前程序的上下文中作标记,这样当异常出现时就可以回到这里,try子句先执行,接下来会发生什么依赖于执行时是否出现异常。

#1、如果当try后的语句执行时发生异常,python就跳回到try并执行第一个匹配该异常的except子句,异常处理完毕,控制流就通过整个try语句(除非在处理异常时又引发新的异常)。

#2、如果在try后的语句里发生了异常,却没有匹配的except子句,异常将被递交到上层的try,或者到程序的最上层(这样将结束程序,并打印缺省的出错信息)。

#3、如果在try子句执行时没有发生异常,python将执行else语句后的语句(如果有else的话),然后控制流通过整个try语句。

总结

以上就是本文关于分享一个简单的python读写文件脚本的全部内容,希望对大家有所帮助。如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!

Python 相关文章推荐
举例讲解Python程序与系统shell交互的方式
Apr 09 Python
举例讲解Python设计模式编程中对抽象工厂模式的运用
Mar 02 Python
Python+Pika+RabbitMQ环境部署及实现工作队列的实例教程
Jun 29 Python
python+pygame简单画板实现代码实例
Dec 13 Python
Python多进程并发与多线程并发编程实例总结
Feb 08 Python
Python中的十大图像处理工具(小结)
Jun 10 Python
python覆盖写入,追加写入的实例
Jun 26 Python
Python数据可视化:箱线图多种库画法
Nov 06 Python
Python将列表中的元素转化为数字并排序的示例
Dec 25 Python
Python TCPServer 多线程多客户端通信的实现
Dec 31 Python
python 下划线的不同用法
Oct 24 Python
Python 中 Shutil 模块详情
Nov 11 Python
python之virtualenv的简单使用方法(必看篇)
Nov 25 #Python
python多进程实现进程间通信实例
Nov 24 #Python
Python实现列表删除重复元素的三种常用方法分析
Nov 24 #Python
Python二叉树的定义及常用遍历算法分析
Nov 24 #Python
详解python上传文件和字符到PHP服务器
Nov 24 #Python
Python实现矩阵转置的方法分析
Nov 24 #Python
利用Django内置的认证视图实现用户密码重置功能详解
Nov 24 #Python
You might like
file_get_contents获取不到网页内容的解决方法
2013/03/07 PHP
php使用pdo连接mssql server数据库实例
2014/12/25 PHP
PHP积分兑换接口实例
2015/02/09 PHP
详解在YII2框架中使用UEditor编辑器发布文章
2018/11/02 PHP
Document 对象的常用方法
2009/07/31 Javascript
基于Jquery的表格隔行换色,移动换色,点击换色插件
2010/12/22 Javascript
基于JQUERY的多级联动代码
2012/01/24 Javascript
js通过元素class名字获取元素集合的具体实现
2014/01/06 Javascript
js字符串日期yyyy-MM-dd转化为date示例代码
2014/03/06 Javascript
用JavaScript判断CSS浏览器类型前缀的两种方法
2015/10/08 Javascript
js如何判断输入字符串长度
2015/12/16 Javascript
JavaScript设计模式之单体模式全面解析
2016/09/09 Javascript
Bootstrap实现带暂停功能的轮播组件(推荐)
2016/11/25 Javascript
jQuery实现可兼容IE6的遮罩功能详解
2017/09/19 jQuery
layUI实现三级导航菜单效果
2019/07/26 Javascript
详细分析vue响应式原理
2020/06/22 Javascript
在Python中实现贪婪排名算法的教程
2015/04/17 Python
Python中的ctime()方法使用教程
2015/05/22 Python
小议Python中自定义函数的可变参数的使用及注意点
2016/06/21 Python
Python使用PyCrypto实现AES加密功能示例
2017/05/22 Python
python监测当前联网状态并连接的实例
2018/12/18 Python
详解Python中的各种转义符\n\r\t
2019/07/10 Python
关于Python3 类方法、静态方法新解
2019/08/30 Python
python 实现分组求和与分组累加求和代码
2020/05/18 Python
Django:使用filter的pk进行多值查询操作
2020/07/15 Python
意大利奢侈品网站:Italist
2016/08/23 全球购物
KIKO MILANO英国官网:意大利知名化妆品和护肤品品牌
2017/09/25 全球购物
印度网上药店:1mg
2017/10/13 全球购物
.NET面试题:什么是反射
2016/09/30 面试题
电子商务专业个人的自我评价分享
2013/10/29 职场文书
公积金转移接收函
2014/01/11 职场文书
旷课检讨书2000字
2014/01/14 职场文书
家长对孩子评语
2014/01/30 职场文书
军训拉歌口号
2014/06/13 职场文书
设立有限责任公司出资协议书
2014/11/01 职场文书
小学生安全教育心得体会
2016/01/15 职场文书