分享一个简单的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 相关文章推荐
pygame学习笔记(6):完成一个简单的游戏
Apr 15 Python
用Python编写一个每天都在系统下新建一个文件夹的脚本
May 04 Python
Python写入CSV文件的方法
Jul 08 Python
Python ftp上传文件
Feb 13 Python
Python实现数据结构线性链表(单链表)算法示例
May 04 Python
python绘制双Y轴折线图以及单Y轴双变量柱状图的实例
Jul 08 Python
python数据类型可变不可变知识点总结
Mar 06 Python
python实现俄罗斯方块游戏(改进版)
Mar 13 Python
Python基于jieba, wordcloud库生成中文词云
May 13 Python
Python如何发送与接收大型数组
Aug 07 Python
pytorch 实现变分自动编码器的操作
May 24 Python
python读取并查看npz/npy文件数据以及数据显示方法
Apr 14 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
php adodb操作mysql数据库
2009/03/19 PHP
destoon设置自定义搜索的方法
2014/06/21 PHP
PHP导出Excel实例讲解
2016/01/24 PHP
PHP中关键字interface和implements详解
2017/06/14 PHP
使用Modello编写JavaScript类
2006/12/22 Javascript
Javascript load Page,load css,load js实现代码
2010/03/31 Javascript
细说浏览器特性检测(2)-通用事件检测
2010/11/05 Javascript
JavaScript中使用构造器创建对象无需new的情况说明
2012/03/01 Javascript
30分钟就入门的正则表达式基础教程
2013/02/25 Javascript
利用jq让你的div居中的好方法分享
2013/11/21 Javascript
纯JavaScript实现获取onclick、onchange等事件的值
2014/12/29 Javascript
jQuery中:checkbox选择器用法实例
2015/01/03 Javascript
BootStrap中Datetimepicker和uploadify插件应用实例小结
2016/05/26 Javascript
基于JS实现类似支付宝支付密码输入框
2016/09/02 Javascript
fullpage.js最后一屏滚动方式
2018/02/06 Javascript
使用vue中的v-for遍历二维数组的方法
2018/03/07 Javascript
js中this的指向问题归纳总结
2018/11/28 Javascript
jquery多级树形下拉菜单的实例代码
2019/07/09 jQuery
Node.js实现批量下载图片简单操作示例
2020/01/18 Javascript
JS绘图Flot应用图形绘制异常解决方案
2020/10/16 Javascript
[01:09]模型精美,特效酷炫!TI9不朽宝藏Ⅰ鉴赏
2019/05/10 DOTA
Python中encode()方法的使用简介
2015/05/18 Python
Python基于pygame实现图片代替鼠标移动效果
2015/11/11 Python
使用Python更换外网IP的方法
2018/07/09 Python
Python函数参数操作详解
2018/08/03 Python
Python面向对象之静态属性、类方法与静态方法分析
2018/08/24 Python
超简单的Python HTTP服务
2019/07/22 Python
python Opencv计算图像相似度过程解析
2019/12/03 Python
django框架基于queryset和双下划线的跨表查询操作详解
2019/12/11 Python
pycharm 代码自动补全的实现方法(图文)
2020/09/18 Python
浅析PyCharm 的初始设置(知道)
2020/10/12 Python
英国婴儿产品专家:Samuel Johnston
2020/04/20 全球购物
五月的鲜花活动方案
2014/08/21 职场文书
2014年化验室工作总结
2014/11/21 职场文书
妈妈别哭观后感
2015/06/08 职场文书
MySQL 外键约束和表关系相关总结
2021/06/20 MySQL