1.這是python的語言特性,python先建立對象,在給變量賦值時,不須要定義變量的名稱和類型,它實際是用變量引用對象。變量類型在給變量賦值時自動聲明python
2.緣由相似變量無須聲明類型git
3.python用下劃線做爲變量前綴和後綴指定特殊變量,對解釋器有特殊意義,也是內建標識符所使用的特殊符號,故通常避免用下劃線做爲變量的開頭和結尾編程
4.python一行能夠書寫多個語句,多個語句間用";"分隔。可是爲了良好的編程風格,不推薦這麼作app
5.python能夠將一個語句分紅多行書寫,行的末尾用反斜槓"\"標識。python一行語句最好不超過80字符,因此若一個語句過長,能夠分紅多行書寫。其餘狀況下,仍是保持一個物理行寫一個邏輯行吧this
6.變量賦值操作系統
(a)賦值語句 x, y, z = 1, 2, 3 在x中賦值1,y中賦值2,z中賦值3code
(b)執行在z, x, y = y, z, x後,x值是3,y的值是1,z的值是2對象
7.標識符ip
int32 printf print _print this self __name__ bool true type thisIsAVar R_U_ready Int True if do accessutf-8
是合法的python標識符
其中,print;if是python關鍵字。
8.
#!/user/bin/env python # -*- coding:utf-8 -*- 'makeTextFile.py -- create text file'import os ls = os.linesep while True: fname = raw_input("請輸入要建立的文件名".decode("utf-8").encode("gbk")) #判斷文件是否已經存在,若是存在則從新輸入 if os.path.exists(fname): print u"錯誤:'%s' 文件已經存在!" % fname else: break all = [] print u"\n 請輸入每一行的內容,在單行輸入英文狀態的'.'完成輸入。\n" while True: entry = raw_input("輸入沒一行的內容吧:\n".decode("utf-8").encode("gbk")) #判斷輸入內容是不是退出字符,如果則結束輸入 if entry == '.': break else: all.append(entry) #建立文件,並以寫入模式打開 fobj = open(fname,'w') #將輸入的每行寫入文件中 fobj.writelines(['%s%s' % (x,ls) for x in all]) fobj.close() print u"成功建立!程序結束!"
9.操做系統:Windows 10 64位
os.linesep:'\r\n'
10.① try-except-else 替代
#!/user/bin/env python # -*- coding:utf-8 -*- 'makeTextFile.py -- create text file' import os ls = os.linesep while True: fname = raw_input("請輸入要建立的文件名".decode("utf-8").encode("gbk")) #判斷文件是否已經存在,若是存在則從新輸入 try: fobj = open(fname) except IOError: break else: print u"錯誤:%s 文件已經存在" % fname all = [] print u"\n請輸入每一行的內容,在單行輸入英文狀態的'.'完成輸入。\n" while True: entry = raw_input("輸入每一行的內容吧:\n".decode("utf-8").encode("gbk")) #判斷輸入內容是不是退出字符,如果則結束輸入 if entry == '.': break else: all.append(entry) #建立文件,並以寫入模式打開 fobj = open(fname,'w') #將輸入的每行寫入文件中 fobj.writelines(['%s%s' % (x,ls) for x in all]) fobj.close() print u"成功建立!程序結束!"
②os.path.exists()替換try-except-else
#!/user/bin/env python # -*- coding:utf-8 -*- 'readTextFile.py -- read and display text file' import os #用戶輸入要打開的文件 fname = raw_input("請輸入文件名:") print #嘗試以閱讀模式打開文件 if os.path.exists(fname): fobj = open(fname,'r') for eachline in fobj: print eachline, fobj.close() else: print "錯誤:文件不存在!"
11.
#!/user/bin/env python # -*- coding:utf-8 -*- "readTextFile.py -- read and display text file" #用戶輸入要打開的文件 fname = raw_input("Enter file name".decode("utf-8").encode("gbk")) print #嘗試以閱讀模式打開文件 try: fobj = open(fname,'r') except IOError,e: print "*** file open error:",e else: #打印出文件內容 for eachline in fobj: print eachline.strip('\n') fobj.close()
給本身的提示:字符串的strip()方法用於移除字符串頭尾指定的字符,它返回移除指定字符後的新字符串
eg:
str = "11111Let's see how the strip() works.1111111" print str.strip('1')
輸出:
Let's see how the strip() works.
12.修改後程序以下
#!user/bin/env python # -*- coding:utf-8 -*- 'read_or_makeTextFile.py -- read and display text file,or create text file ' import os ls = os.linesep while True: choise = raw_input("打開文件請輸入1,建立文件輸入2,退出輸入3:".decode("utf-8").encode("gbk")) if not choise.isdigit(): print u"請輸入數字" elif int(choise) == 1: fname = raw_input("請輸入文件名:".decode("utf-8").encode("gbk")) print # 嘗試以閱讀模式打開文件 if os.path.exists(fname): fobj = open(fname,'r') for eachline in fobj: print eachline, fobj.close() else: print "錯誤:文件不存在!" elif int(choise) == 2: while True: fname = raw_input("請輸入要建立的文件名".decode("utf-8").encode("gbk")) #判斷文件是否已經存在,若是存在則從新輸入 if os.path.exists(fname): print u"錯誤:'%s' 文件已經存在!" % fname else: break all = [] print u"\n請輸入每一行的內容,在單行輸入英文狀態的'.'完成輸入。\n" while True: entry = raw_input("輸入每一行的內容吧:\n".decode("utf-8").encode("gbk")) #判斷輸入內容是不是退出字符,如果則結束輸入 if entry == '.': break else: all.append(entry) #建立文件,並以寫入模式打開 fobj = open(fname,'w') #將輸入的每行寫入文件中 fobj.writelines(['%s%s' % (x,ls) for x in all]) fobj.close() print u"成功建立!程序結束!" elif int(choise) == 3: print u"程序將退出" break else: print u"請從新輸入"
13.修改後程序以下
#!user/bin/env python # -*- coding:utf-8 -*- 'read_or_makeTextFile.py -- read and display text file,or create text file ' import os ls = os.linesep print os.getcwd() while True: choise = raw_input("打開文件請輸入1,建立文件輸入2,編輯文件輸入3,退出輸入4:".decode("utf-8").encod\e("gbk")) if not choise.isdigit(): print u"請輸入數字" elif int(choise) == 1: fname = raw_input("請輸入文件名:".decode("utf-8").encode("gbk")) print #嘗試以閱讀模式打開文件 if os.path.exists(fname): fobj = open(fname,'r') for eachline in fobj: print eachline, fobj.close() else: print u"錯誤:文件不存在!" elif int(choise) == 2: while True: fname = raw_input("請輸入要建立的文件名".decode("utf-8").encode("gbk")) #判斷文件是否已經存在,若是存在則從新輸入 if os.path.exists(fname): print u"錯誤:'%s' 文件已經存在!" % fname34 else: break all = [] print u"\n請輸入每一行的內容,在單行輸入英文狀態的'.'完成輸入。\n" while True: entry = raw_input("輸入每一行的內容吧:\n".decode("utf-8").encode("gbk")) #判斷輸入內容是不是退出字符,如果則結束輸入 if entry == '.': break else: all.append(entry) #建立文件,並以寫入模式打開 fobj = open(fname,'w') #將輸入的每行寫入文件中 fobj.writelines(['%s%s' % (x,ls) for x in all]) fobj.close() print u"成功建立!程序結束!" elif int(choise) == 3: fname = raw_input("請輸入文件名:".decode("utf-8").encode("gbk")) print #嘗試以讀寫模式("r+")模式打開文件 if os.path.exists(fname): fobj = open(fname,'r+') count = len(fobj.readlines()) fobj.close() lines = [] for i in range(1,count): line = raw_input("請輸入修改後的每行的內容:".decode("utf-8").encode("gbk")) lines.append(line) while True: save = raw_input("保存修改輸入1,不保存輸入2:".decode("utf-8").encode("gbk")) if not save.isdigit(): print u"請輸入數字1保存或者2不保存!!" elif int(save) == 1: fobj = open(fname,'w') fobj.writelines(['%s%s' % (x,ls) for x in lines]) fobj.close print u"修改爲功!" break elif int(save) == 2: break else: print u"錯誤!文件不存在!" elif int(choise) == 4: print u"程序將退出" break else: print u"請從新輸入"