Python 文件操作
2015-11-27 15:14
696 查看
来源于Python核心编程第二版本,此随笔只是为了让自己加深印象。
环境OSXPython版本2.7.10
运行结果
核心技巧:使用局部变量替换模块变量
类似os.linesep这样的名字需要解释器做两次查询(1)查找os以确认它是一个模块(2)在这个模块中查找linesep变量。因为模块也是全局变量,我们多消耗系统资源
如果你频繁使用一个属性,建议为该属性取一个本地变量别名。变量再查找速度将会快很多!
os.path.exists()是os模块中一个函数,当有输入一个不存在的文件名时候会返回False。
raw_input()获取用户输入的文件名
打开文件,利用for循环进行读取并显示Simplestuff...
环境OSXPython版本2.7.10
#!/usr/bin/envpython #--*--coding:utf-8--*-- 'makeTextFile.py--Createtextfile' importos ls=os.linesep fname='test' #getfilename whileTrue: ifos.path.exists(fname): print"ERROR:'%s'alreadyexists"%fname else: break #getfilecontent(text)lines all=[] print"\nEnterlines('.'byitselftoquit).\n" #loopuntiluserterminatesinput whileTrue: entry=raw_input('>') ifentry=='.': break else: all.append(entry) #writelinestofilewithproperline-ending fobj=open(fname,'w') fobj.writelines(['%s%s'%(x,ls)forxinall]) fobj.close() print'Done!'
运行结果
核心技巧:使用局部变量替换模块变量
类似os.linesep这样的名字需要解释器做两次查询(1)查找os以确认它是一个模块(2)在这个模块中查找linesep变量。因为模块也是全局变量,我们多消耗系统资源
如果你频繁使用一个属性,建议为该属性取一个本地变量别名。变量再查找速度将会快很多!
os.path.exists()是os模块中一个函数,当有输入一个不存在的文件名时候会返回False。
fobj.writelines(['%s%s'%(x,ls)forxinall])这种结构叫做列表解析。 '%s%s'为每一行添加行结束符,(x,ls)表示每一行及其行结束符,对于Unix平台是'\n'对于DOS或WIN32则是'\r\n' 通过使用os.linesep我们不需要考虑程序运行在什么平台,也不需要根据平台决定使用哪种行结束符。文件对象writeline()方法接收包含结束符的结果列表,并将 其写入文件 读取文件操作
#!/usr/bin/envpython #--*--coding:utf-8--*-- 'readTextFile.py--readanddisplaytextfile' #getfilename fname=raw_input('Enterfilename:') #attempttoopenfileforreading try: fobj=open(fname,'r') exceptIOError,e: print"***fileopenerror:",e else: #displaycontentstothescreen foreachlineinfobj: printeachline, fobj.close()
raw_input()获取用户输入的文件名
打开文件,利用for循环进行读取并显示Simplestuff...
相关文章推荐
- pygame for python3.5
- Python学习笔记(1)
- Python 文本挖掘:使用gensim进行文本相似度计算
- Python flask多维字典实现菜单动态添加
- Python cPickle模块
- 一些有趣的python开源项目
- Some Notes of Python Interfaces Pycaffe (Caffe)
- python 跳板机登录脚本
- Python安装配置
- 如何用Python写一个贪吃蛇AI
- python 猜数字游戏
- Python ORM Storm 源码修改
- python 用户交互
- 2015.11.27-------KNN算法的python实现的应用
- LeetCode OJ 系列之63 Unique Paths II --Python
- LeetCode OJ 系列之62 Unique Paths --Python
- LeetCode OJ 系列之1 Two Sum --Python
- [基础] - Python中的@property
- Python2.7获取QQ照片墙
- 记录一个 关于 python 普通方法,静态方法和类方法 的介绍。@classmethod @staticmethod