两个使用Python脚本操作文件的小示例分享

yipeiwu_com7年前Python基础

1这是一个创建一个文件,并在控制台写入行到新建的文件中.

#!/usr/bin/env python 
 
'makeTextFile.py -- create text file' 
 
import os 
ls = os.linesep 
 
#get filename 
while True: 
  fname = raw_input('Enter filename:') 
  if os.path.exists(fname): 
    print "ERROR: '%s' already exists" % fname 
  else: 
    break 
 
#get file content (text) lines 
all = [] 
print "\nEnter lines('.' by itself 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!' 
os.linesep表示行结尾标志, 用本地变量名ls代替它节省了时间,并减少了消耗系统资源.
用 raw_input()读入文件名
用列表all[]来保存每一行文本(它们暂时在内存中).
最后创建文件后,用writelines()把内存中的行写入打开的文件中.

2.这是一个读特定文件内容的小程序.
#!/usr/bin/env python 
 
'readTextFile.py -- read and display text 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() 

(1)注意:由于我们没有移除代表每行结束的行结束符,我们不得不抵制 print 语句自动生成的行结束符 --通过在print 语句的最后加一个逗号可以达到这一目的
print 后没有逗号是这种效果:                                                    

(2) try-except-else是一个新出現的语句,其中except子句是我们处理错误的地方.

注:两个程序在执行前,需要给文件增加可执行权限.

$chmod a+x filename

相关文章

使用python绘制3维正态分布图的方法

使用python绘制3维正态分布图的方法

今天使用python画了几个好玩的3D展示图,现在分享给大家。 先贴上图片 使用的python工具包为: from matplotlib import pyplot as pl...

python SocketServer源码深入解读

python SocketServer源码深入解读

再看继承 真正的大餐来之前,还是来点儿开胃菜!回顾一下关于类的继承的知识: 我们先看上面的代码,这是一个简单的类继承,我们可以看到父类Base和子类Son,它们中各有一个Testf...

解决PyCharm中光标变粗的问题

解决PyCharm中光标变粗的问题

pycharm中光标变粗,如下: 原因:光标进入了改写状态。 解决方法:按一下键盘中的Insert键就好了。 以上这篇解决PyCharm中光标变粗的问题就是小编分享给大家的全部内容了,...

python获取微信小程序手机号并绑定遇到的坑

python获取微信小程序手机号并绑定遇到的坑

最近在做小程序开发,在其中也遇到了很多的坑,获取小程序的手机号并绑定就遇到了一个很傻的坑。 流程介绍 官方流程图 小程序使用方法 需要将 <button> 组件 open...

python3+PyQt5 数据库编程--增删改实例

python3+PyQt5 数据库编程--增删改实例

本文通过python3+pyqt5改写实现了python Qt gui 编程变成15章的excise例子。 #!/usr/bin/env python3 import os impo...