分享一个简单的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 相关文章推荐
ssh批量登录并执行命令的python实现代码
May 25 Python
python正则表达式修复网站文章字体不统一的解决方法
Feb 21 Python
Python中的列表生成式与生成器学习教程
Mar 13 Python
Python的时间模块datetime详解
Apr 17 Python
对Python中type打开文件的方式介绍
Apr 28 Python
Python发展简史 Python来历
May 14 Python
使用pyinstaller逆向.pyc文件
Dec 20 Python
使用 Python ssh 远程登陆服务器的最佳方案
Mar 06 Python
Python如何使用bokeh包和geojson数据绘制地图
Mar 21 Python
如何理解python对象
Jun 21 Python
Python调用Redis的示例代码
Nov 24 Python
Python图片处理之图片裁剪教程
May 27 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
新的一年,新的期待:DC在2020年的四部动画电影
2020/01/01 欧美动漫
使用php实现从身份证中提取生日
2016/05/09 PHP
php显示页码分页类的封装
2017/06/08 PHP
laravel5.4利用163邮箱发送邮件的步骤详解
2017/09/22 PHP
HTML复选框和单选框 checkbox和radio事件介绍
2012/12/12 Javascript
javascript验证身份证完全方法具体实现
2013/11/18 Javascript
jQuery 隐藏和显示 input 默认值示例
2014/06/03 Javascript
推荐JavaScript实现继承的最佳方式
2014/11/11 Javascript
js+css实现导航效果实例
2015/02/10 Javascript
HTML5使用DeviceOrientation实现摇一摇功能
2015/06/05 Javascript
VueJs路由跳转——vue-router的使用详解
2017/01/10 Javascript
vue实现ajax滚动下拉加载,同时具有loading效果(推荐)
2017/01/11 Javascript
详解AngularJs路由之Ui-router-resolve(预加载)
2017/06/13 Javascript
JS实现unicode和UTF-8之间的互相转换互转
2017/07/05 Javascript
jquery easyui如何实现格式化列
2017/07/30 jQuery
小程序实现可拖动的悬浮按钮
2020/09/07 Javascript
python实现随机密码字典生成器示例
2014/04/09 Python
Python入门_浅谈逻辑判断与运算符
2017/05/16 Python
python 中split 和 strip的实例详解
2017/07/12 Python
Python使用django框架实现多人在线匿名聊天的小程序
2017/11/29 Python
Flask框架工厂函数用法实例分析
2019/05/25 Python
python opencv实现gif图片分解的示例代码
2019/12/13 Python
Python实现密码薄文件读写操作
2019/12/16 Python
python3 requests库实现多图片爬取教程
2019/12/18 Python
pytorch读取图像数据转成opencv格式实例
2020/06/02 Python
携程英文网站:Trip.com
2017/02/07 全球购物
Kiwi.com中国:找到特价机票并发现新目的地
2019/10/27 全球购物
C语言中break与continue的区别
2012/07/12 面试题
编辑硕士自荐信范文
2013/11/27 职场文书
蜜蜂引路教学反思
2014/02/04 职场文书
元旦联欢会感言
2014/03/04 职场文书
保研推荐信
2014/05/09 职场文书
体育专业求职信
2014/07/16 职场文书
法人单位授权委托书范文
2014/10/06 职场文书
2014年体育工作总结
2014/11/24 职场文书
2016优秀员工先进事迹材料
2016/02/25 职场文书