1 “#”表示之後的字符是注釋
2 “\”表示繼續上一行,pycharm可以自動換行。
3 “;”分割兩個語句,可以把兩個語句寫在一行裡
4python模塊的注釋:
在模塊後的第一行以雙引號的形式進行""
顯示調用__doc__函數
1 賦值語句被當成一個表達式,python的賦值語句沒有返回值
2 賦值運算的各種符號:
+= -= *= /= %= **=
<<= >>= &= ^= |=
3 多元賦值
x,y,z = 1,2,"string"
1 注釋需要准確
2 注釋文檔 obj__doc__獲取文檔字符串
3 縮進3到7個空格,不要使用tab制表符
4 模塊的布局
模塊文檔
模塊導入
變量定義
類定義
函數定義
主程序
每用一次del 那麼對象的別名銷毀,引用次數減一
3–11.
字符串格式化 不再抑制 readTextFile.py 中 print 語句生成的 NEWLINE 字符, 修改你的
代碼, 在顯示一行之前刪除每行末尾的空白。 這樣, 你就可以移除 print 語句末尾的逗號了。
提示: 使用字符串對象的 strip()方法
#-*- coding: utf-8 -*-
"readTextFile.py -- read and display text file"
fname = raw_input("請輸入文件名")
try:
fobj = open(fname)
except IOError ,e:
print"*** file open error:",e
else:
print (fobj.read() ).strip()
fobj.close()
3–12. 合並源文件。將兩段程序合並成一個,給它起一個你喜歡的名字,比方
readNwriteTextFiles.py。讓用戶自己選擇是創建還是顯示一個文本文件。
import os
state = 1
def menu():
print "請輸入需要選擇的功能"
print"0 退出"
print"1 創建一個新文件"
print "2 讀取一個文件"
return int(raw_input())
def creat():
ls = os.linesep
while True:
fname = raw_input("請輸入要新建的文件名")
if os.path.exists(fname):
print "%s文件名已經存在請重新輸入" % fname
else:
break
all = []
print "請輸入要存儲的數據(如果輸入結束請輸入“.”字符)"
while True:
entry = raw_input("請輸入要保存的數據")
if entry == ".":
break
else:
all.append(entry)
fobj = open(fname,"w")
fobj.writelines(["%s%s" % (x, ls)for x in all])
fobj.close()
print"文件已經成功保存"
def read ():
fname = raw_input("請輸入文件名")
try:
fobj = open(fname)
except IOError, e:
print"*** file open error:", e
else:
print (fobj.read()).strip()
fobj.close()
while(state):
state = menu()
if state == 1:
creat()
elif state ==2:
read()
print "按任意鍵繼續"
3–13. 添加新功能。 將你上一個問題改造好的 readNwriteTextFiles.py 增加一個新功
能:允許用戶編輯一個已經存在的文本文件。 你可以使用任何方式,無論是一次編輯一行,還
是一次編輯所有文本。 需要提醒一下的是, 一次編輯全部文本有一定難度, 你可能需要借助 GUI
工具包或一個基於屏幕文本編輯的模塊比如 curses 模塊。要允許用戶保存他的修改(保存到
文件)或取消他的修改(不改變原始文件),並且要確保原始文件的安全性(不論程序是否正
常關閉)。
待完成