python 核心编程第三章习题12小题

846 查看

第三章12小题是一个脚本,没有书的下载电子档好了。

#!/usr/bin/env python2
#-*- coding:utf-8 -*-
from os.path import exists
from os import linesep
return_line = linesep

# 1.定义创建文件的函数
def create_file(fname): # 提示用户输入文件名,用户输入exit时不创建文件而直接退出脚本
    if fname == 'exit':
        exit()
    elif exists(fname):
        print "\033[1;31m文件 %s 存在,请重新输入\033[0m" % (fname)
    else:
        write_file(fname) # 调用写入文件函数

# 2. 定义写入文件函数
def write_file(fname):
    result = []
    edit_file = open(fname,'w')
    while True:
        user_enter = raw_input("请输入文件内容")
        if user_enter == 'exit':
            edit_file.writelines(["%s%s" % (x,return_line) for x in result])
            edit_file.close()
            exit()
        else:
            result.append(user_enter)

# 3. 定义查看文件函数
def view_file(fname):
    if fname == 'exit':
        exit()
    elif exists(fname):
        print "\n\033[1;33m文件 %s 查询结果如下: \033[0m" % (fname)
        result = open(fname,'r')
        for line in result.xreadlines():
            print line.strip()
    else:
        print "\033[1;31m文件 %s 不存在,请重新输入\033[0m" % (fname)

# 4. 定义主程序
def main():
    print "\n\033[1;31m输入read查看文件\n输入edit写入文件\033[0m"
    print "\033[1;33m提示: 随时可以输入exit来退出脚本\n\033[0m"
    while True:
        user_input = raw_input("请输入你的选择:")
        if user_input == 'exit': # 如果用户输入exit则退出脚本
            exit()
        elif user_input == 'edit':  # 调用创建文件函数
            fname = raw_input("请输入文件名: ")
            create_file(fname)  
        elif user_input == 'read': # 调用查看文件函数
            fname = raw_input("请输入文件名: ")
            view_file(fname)
        else:
            print "输入错误,请重新输入"

# 5. 运行主程序
if __name__ == '__main__':
    main()