#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 "
Enter lines("." by itself to quit).
"
#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()把内存中的行写入打开的文件中.