买了本学习Python的书,看了几天,想写个简单的程序,下面就是一个简单的类似记事本一样的小程序,器功能主要有:
1提示你是想流泪这个文件还是想写东西到这个文件
2.输入R或者r,表示想看这个程序写的文件
3,输入W或者w,表示想写东西到这个文件
4,如果输入Q或者q,表示想退出程序
期间得到很到热心的Q友的帮助,下面贴出代码和注释,大家感兴趣可以看下,有好多地方可以修改的地方,如果有不对的地方,希望大家提出宝贵意见
#!/usr/bin/env python import os import string print ("This notepad write by python 2.6") print ("Editor: Iding") print ("Version:0.0.1") ##这是判断取得昵称的函数,有判断在里面,判断输入昵称的长度def input_nick(): while True: nick=raw_input("please input your nick:") if len(nick)<3: print ("your nick too short ,please again!") elif len(nick)>15: print ("your nick too long ,please again!") else: print ("Your nick is %s" % nick) return nick break ##这是判断取得手机号码的函数,有判断在里面,判断输入号码的长度和类型def input_mob_number(): while True: mob_number=raw_input("please input your mob_number:") if len(mob_number) !=11 : #长度必须是11位 print ("Your mob_number's length is wrong ,please again!") elif mob_number.isdigit() and len(mob_number)==11 : #长度必须是11位且必须都是数字 print ("Your mob_number is %s" % mob_number) return mob_number break else : print ("Your input has wrong charter,please again!") ##这是判断取得QQ号的函数,有判断在里面,判断输入昵称的长度和类型def input_qq(): while True: qq=raw_input("please input your QQ_Number:") if len(qq) <6 : #号码长度必须大于6位 print ("your number is too short!") elif qq.isdigit() and len(qq) <=12 : #号码必须都是数字且小于12位 print ("Your qq number is: %s" % qq ) return qq break else: print ("you input has wrong character!") while True: print ("#############This is a notepad programe writed by python!################") print ("#############please input your choice:R or W#############################") print ("#############if you input r or R ,mean you want to read notepad##########") print ("#############if you input w or W mean you want to write to notepad#######") print ("#############if you input q or Q mean your want to quit #################") print ("") print ("") print ("") input=raw_input("please input your choice:") if input.startswith('r') or input.startswith('R'): print ("") print ("you want to read file") print ("") print ("") f = open('notepad.txt') #打开文件 totallines=len(f.readlines()) #得到文件总的行数 print ("This notepad has %s records" % totallines ) #说明共有几行内容 f.close() #关闭文件, f1=open("notepad.txt") #这里又要打开文件,这里比较纠结,应该有更好的方法 for line_number in range(1,totallines+1): content=f1.readline() print "NO. "+ str(line_number)+" : "+ content #打印文件内容 f1.close() break elif input.startswith('w') or input.startswith('W'): print ("you want to write file") nick=input_nick() #得到昵称 mob_number=input_mob_number() #得到号码qq=input_qq() notepad=file("notepad.txt","a") #追加方式打开文件 print >>notepad,nick,mob_number,qq #把内容写入文件 notepad.close() elif input.startswith('q') or input.startswith('Q'): print ("you want to exit programe") break else: print ("your input has wrong character,please again!")