两个简短的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 后没有逗号是这种效果:                                                                print有逗号的效果:

string1                                                                                                      string1

                                                                                                                  string2

string2                                                                                                      string3


string3

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


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

$chmod a+x filename

  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值