分享一个简单的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对象体系深入分析
Oct 28 Python
python字典排序实例详解
May 20 Python
Python实现的弹球小游戏示例
Aug 01 Python
python 读写中文json的实例详解
Oct 29 Python
pandas分别写入excel的不同sheet方法
Dec 11 Python
Python日志无延迟实时写入的示例
Jul 11 Python
详解PyTorch中Tensor的高阶操作
Aug 18 Python
使用python实现希尔、计数、基数基础排序的代码
Dec 25 Python
TensorFlow固化模型的实现操作
May 26 Python
Python使用pyexecjs代码案例解析
Jul 13 Python
Python如何实现感知器的逻辑电路
Dec 25 Python
python tkinter实现定时关机
Apr 21 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设计模式之简单工厂模式详解
2014/09/04 PHP
php的mail函数发送UTF-8编码中文邮件时标题乱码的解决办法
2015/10/20 PHP
Laravel学习基础之migrate的使用教程
2017/10/11 PHP
Laravel手动返回错误码示例
2019/10/22 PHP
HTML复选框和单选框 checkbox和radio事件介绍
2012/12/12 Javascript
javascript 循环调用示例介绍
2013/11/20 Javascript
使用jquery修改表单的提交地址基本思路
2014/06/04 Javascript
如何用javascript计算文本框还能输入多少个字符
2015/07/29 Javascript
JS中sort函数排序用法实例分析
2016/06/16 Javascript
AngularJS利用Controller完成URL跳转
2016/08/09 Javascript
JavaScript自动点击链接 防止绕过浏览器访问的方法
2017/01/19 Javascript
element-ui 表格实现单元格可编辑的示例
2018/02/26 Javascript
JS实现图片转换成base64的各种应用场景实例分析
2018/06/22 Javascript
[02:53]DOTA2亚洲邀请赛 NewBee战队巡礼
2015/02/03 DOTA
Windows 7下Python Web环境搭建图文教程
2018/03/20 Python
Python实现的多叉树寻找最短路径算法示例
2018/07/30 Python
Django如何使用第三方服务发送电子邮件
2019/08/14 Python
Python @property使用方法解析
2019/09/17 Python
三个python爬虫项目实例代码
2019/12/28 Python
python随机生成大小写字母数字混合密码(仅20行代码)
2020/02/01 Python
什么是python的必选参数
2020/06/21 Python
html5 localStorage本地存储_动力节点Java学院整理
2017/07/06 HTML / CSS
美国时装品牌:Nautica(诺帝卡)
2016/08/28 全球购物
美国男女折扣服饰百货连锁店:Stein Mart
2017/05/02 全球购物
高校学生干部的自我评价分享
2013/11/04 职场文书
写演讲稿所需要注意的4个条件
2014/01/09 职场文书
《夜晚的实验》教学反思
2014/02/19 职场文书
小学生期末评语大全
2014/04/21 职场文书
食堂厨师岗位职责
2014/08/25 职场文书
二手车交易协议书标准版
2014/11/16 职场文书
期末考试复习计划
2015/01/19 职场文书
走进毛泽东观后感
2015/06/04 职场文书
观后感的写法
2015/06/19 职场文书
小学运动会入场口号
2015/12/24 职场文书
python基础之while循环语句的使用
2021/04/20 Python
天谕手游15杯全调酒配方和调酒券的获得方式
2022/04/06 其他游戏