先来看一段创建文件并写入文本的代码,然后作介绍。
#!/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读写文件脚本的全部内容,希望对大家有所帮助。如有不足之处,欢迎留言指出。感谢朋友们对本站的支持!
免责声明:本站文章均来自网站采集或用户投稿,网站不提供任何软件下载或自行开发的软件!
如有用户或公司发现本站内容信息存在侵权行为,请邮件告知! 858582#qq.com
金钱帮资源网 Copyright www.kbjia.com
暂无“分享一个简单的python读写文件脚本”评论...
更新日志
2024年10月09日
2024年10月09日
- 腾讯音乐人《浪漫火焰(新势力计划合辑 Vol.11)[FLAC/分轨][147.45MB]
- 2024年,哪里还可以玩有趣的魔兽RPG?
- 类银河恶魔城动作游戏《灵魂熔解》已正式登陆Steam
- 国庆七天总票房破20亿!《志愿军》8亿票房超速领跑!
- 绝区零轰隆隆驶向日落任务攻略 怎么完成
- dnf手游浩瀚星海神秘武器介绍 沧海长风武器升级
- 初音未来缤纷舞台国服预约开启 上线时间一览
- s14全球总决赛瑞士轮抽签结果是什么 S14瑞士轮抽签结果详情
- gam是哪个国家的队 s14世界赛gam战队国家赛区介绍
- s14全球世界赛主题是什么 英雄联盟s14世界赛最新主题介绍
- 鉴宝博主半年涨粉1500万 鉴宝成网友新晋电子榨菜
- 重大里程碑!《底特律 化身为人》销量突破1000万套
- 网友总结游戏业界七宗罪厂商:暴食的微软 傲慢的育碧
- 棒棒堂.2007-哪里怕(引进版)【EMI百代】【WAV+CUE】
- 邓丽君.2024-美好世界8CD(日本唱片志限量编号版)【环球】【WAV+CUE】