分享一个简单的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实现批量转换文件编码(批转换编码示例)
Jan 23 Python
Python程序设计入门(1)基本语法简介
Jun 13 Python
Python中的pass语句使用方法讲解
May 14 Python
在Python的列表中利用remove()方法删除元素的教程
May 21 Python
Python之读取TXT文件的方法小结
Apr 27 Python
Python常见的pandas用法demo示例
Mar 16 Python
pytorch方法测试——激活函数(ReLU)详解
Jan 15 Python
Tensorflow轻松实现XOR运算的方式
Feb 03 Python
使用Dajngo 通过代码添加xadmin用户和权限(组)
Jul 03 Python
Python如何发送与接收大型数组
Aug 07 Python
python 贪心算法的实现
Sep 18 Python
Python return语句如何实现结果返回调用
Oct 15 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通用检测函数集合
2011/02/08 PHP
php高级编程-函数-郑阿奇
2011/07/04 PHP
php实现购物车功能(上)
2020/07/23 PHP
PHP解析url并得到url参数方法总结
2018/10/11 PHP
jQuery布局插件UI Layout简介及使用方法
2013/04/03 Javascript
js选项卡的实现方法
2015/02/09 Javascript
JS实现从表格中动态删除指定行的方法
2015/03/31 Javascript
简述JavaScript对传统文档对象模型的支持
2015/06/16 Javascript
JavaScript中使用sencha gridpanel 编辑单元格、改变单元格颜色
2015/11/26 Javascript
JS基于clipBoard.js插件实现剪切、复制、粘贴
2016/05/03 Javascript
javascript表单事件处理方法详解
2016/05/15 Javascript
JS与jQuery实现隔行变色的方法
2016/09/09 Javascript
利用CSS、JavaScript及Ajax实现图片预加载的方法
2016/11/29 Javascript
Angular移动端页面input无法输入的解决方法
2017/11/14 Javascript
微信小程序数字滚动插件使用详解
2018/02/02 Javascript
vue 设置路由的登录权限的方法
2018/07/03 Javascript
mock.js模拟数据实现前后端分离
2019/07/24 Javascript
vue视频播放插件vue-video-player的具体使用方法
2019/11/08 Javascript
利用JS如何获取form表单数据
2019/12/19 Javascript
Python异常学习笔记
2015/02/03 Python
Python六大开源框架对比
2015/10/19 Python
wxpython中自定义事件的实现与使用方法分析
2016/07/21 Python
使用XML库的方式,实现RPC通信的方法(推荐)
2017/06/14 Python
Django内容增加富文本功能的实例
2017/10/17 Python
Python实现连接两个无规则列表后删除重复元素并升序排序的方法
2018/02/05 Python
浅谈Python中的作用域规则和闭包
2018/03/20 Python
Python3.6 + TensorFlow 安装配置图文教程(Windows 64 bit)
2020/02/24 Python
python中rc1什么意思
2020/06/19 Python
丽笙酒店官方网站:Radisson Hotels
2019/05/07 全球购物
一套Delphi的笔试题二
2013/05/11 面试题
地方课程教学计划
2015/01/19 职场文书
逃课检讨书
2015/01/26 职场文书
六年级数学教学反思
2016/02/16 职场文书
Python Matplotlib绘制条形图的全过程
2021/10/24 Python
使用Java去实现超市会员管理系统
2022/03/18 Java/Android
详细聊一聊mysql的树形结构存储以及查询
2022/04/05 MySQL