import os
import sys
##引入os与sys模块
ls = os.linesep
##os.linesep表示系统的换行符,windows中为\r\n'
while True:
fname = raw_input('enter an filename: ')
if os.path.exists(fname):
##判断所输入的文件名是否存在,如果存在则报错,返回到raw_input()函数中,不存在则break掉循环
print "ERROR: '%s' already exist" % fname
else:
break
##python中没有花括号,一切逻辑上是通过缩进来表示的,当函数中逻辑需要多行时,必须加: 另外多行输入可以使用\ 符号表示,'
all = []
##定义一个空的列表,[]表示列表,里面的元素值可以改变,{}表示元组,里面的值是不可以改变的,()表示字典,是键与值一一对应的关系,有点像其他语言中的数组,(后面再来确认)'
print "\nEnter lines ('.' by itself to quit).\n"
##\n表示换行'
while True:
##'这个循环和上面的差不多,都是真,只有当用户输入 . 的时候才跳出循环'
entry = raw_input('>')
if entry == '.':
break
else:
all.append(entry)
fobj = open(fname,'w')
##'以 w 写的方式打开一个文档,也就是上面输入的fname的值'
fobj.writelines(['%s%s' % (x,ls) for x in all])
##'写入刚才输入的值,'
fobj.close()
print 'DONE!'
以下是read的代码 相对要简单的多
fname = raw_input('Enter filename: ')
print
##'这里面引入一个try...except..else...句式,表示一个异常处理'
try:
fobj = open(fname,'r')
except IOError,e:
##'这里面捕获一个IOError 信息写入e'
print "*** file open error:",e
else:
for eachline in fobj:
print eachline,
fobj.close()