分享一个简单的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的组合模式与责任链模式编程示例
Feb 02 Python
Python微信库:itchat的用法详解
Aug 14 Python
使用Python监视指定目录下文件变更的方法
Oct 15 Python
Python设计模式之备忘录模式原理与用法详解
Jan 15 Python
PyQt5固定窗口大小的方法
Jun 18 Python
Python为何不能用可变对象作为默认参数的值
Jul 01 Python
Python代码太长换行的实现
Jul 05 Python
使用Python实现跳一跳自动跳跃功能
Jul 10 Python
DJANGO-URL反向解析REVERSE实例讲解
Oct 25 Python
通过实例简单了解Python中yield的作用
Dec 11 Python
PyTorch 普通卷积和空洞卷积实例
Jan 07 Python
基于tf.shape(tensor)和tensor.shape()的区别说明
Jun 30 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
收听困难?教您超简便短波广播抗干扰方法!
2021/03/01 无线电
php不用正则验证真假身份证
2013/11/06 PHP
js innerHTML 的一些问题的解决方法
2008/06/22 Javascript
jquery里的each使用方法详解
2010/12/22 Javascript
用Juery网页选项卡实现代码
2011/06/13 Javascript
jQuery插件 selectToSelect使用方法
2013/10/02 Javascript
jquery选择器-根据多个属性选择示例代码
2013/10/21 Javascript
jquery学习总结(超级详细)
2014/09/04 Javascript
学习JavaScript设计模式之代理模式
2016/01/12 Javascript
laydate.js日期时间选择插件
2017/01/04 Javascript
js图片加载效果实例代码(延迟加载+瀑布流加载)
2017/05/12 Javascript
JavaScript屏蔽Backspace键的实现代码
2017/11/02 Javascript
vue鼠标移入添加class样式,鼠标移出去除样式(active)实现方法
2018/08/22 Javascript
微信小程序提取公用函数到util.js及使用方法示例
2019/01/10 Javascript
vue3修改link标签默认icon无效问题详解
2019/10/09 Javascript
JS实现滑动导航效果
2020/01/14 Javascript
python的类方法和静态方法
2014/12/13 Python
Python基类函数的重载与调用实例分析
2015/01/12 Python
Linux下使用python调用top命令获得CPU利用率
2015/03/10 Python
python实现mysql的读写分离及负载均衡
2018/02/04 Python
python爬虫基本知识
2018/03/05 Python
基于Python中求和函数sum的用法详解
2018/06/28 Python
python中selenium操作下拉滚动条的几种方法汇总
2019/07/14 Python
django admin组件使用方法详解
2019/07/19 Python
如何通过Django使用本地css/js文件
2020/01/20 Python
python编程进阶之类和对象用法实例分析
2020/02/21 Python
Python求两个字符串最长公共子序列代码实例
2020/03/05 Python
荷兰浴室和卫浴网上商店:Badkamerxxl.nl
2020/10/06 全球购物
原材料检验岗位职责
2014/03/15 职场文书
2014年青年教师工作总结
2014/12/17 职场文书
努力学习保证书
2015/02/26 职场文书
教师工作能力自我评价
2015/03/04 职场文书
优秀班主任工作总结2015
2015/05/25 职场文书
春晚观后感
2015/06/11 职场文书
详解Java实践之适配器模式
2021/06/18 Java/Android
浅析Python中的套接字编程
2021/06/22 Python