两个使用Python脚本操作文件的小示例分享
1这是一个创建一个文件,并在控制台写入行到新建的文件中.
#!/usr/bin/envpython 'makeTextFile.py--createtextfile' importos ls=os.linesep #getfilename whileTrue: fname=raw_input('Enterfilename:') 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表示行结尾标志,用本地变量名ls代替它节省了时间,并减少了消耗系统资源. 用raw_input()读入文件名 用列表all[]来保存每一行文本(它们暂时在内存中). 最后创建文件后,用writelines()把内存中的行写入打开的文件中.
#!/usr/bin/envpython 'readTextFile.py--readanddisplaytextfile' #getfilename fname=raw_input('Enterfilename:') print #attempttoopenfileforreading try: fobj=open(fname,'r') exceptIOError,e: print"***fileopenerror:",e else: #displaycontentstothescreen foreachLineinfobj: printeachLine, fobj.close()
(1)注意:由于我们没有移除代表每行结束的行结束符,我们不得不抵制print语句自动生成的行结束符--通过在print语句的最后加一个逗号可以达到这一目的
print后没有逗号是这种效果:
(2)try-except-else是一个新出現的语句,其中except子句是我们处理错误的地方.
注:两个程序在执行前,需要给文件增加可执行权限.
$chmoda+xfilename