cp115k_108-2_exam1_ref_sheet.pdf - Python Reference sheet...

This preview shows page 1 out of 11 pages.

You've reached the end of your free preview.

Want to read all 11 pages?

Unformatted text preview: Python Reference sheet for YZU CP115K Exam 1 (108-2) 數值形態共用的運算 i+j 是 i 與 j 的和。 i-j 是 i 減去 j 的差。 i*j 是 i 與 j 的積。 i//j 是 i 除以 j 的商 (整數除法)。 i%j 是 i 除以 j 的餘數。 i**j 是 i 的 j 次方。 x += y 等效於 x = x + y。-=, *= 與 /= 也有類 似的定義。 i/j 是 i 除以 j。在 Python 3.x 裏結果必定 是浮點數。 abs(x) 是 x 的絕對值。 關係運算子與邏輯運算子 x == y 傳回 True,如果 x 與 y 相等的話;否則傳回 False。 x != y 傳回 True,如果 x 與 y 不相等的話;否則傳回 False。 x >= y 傳回 True,如果 x 大於等於 y 的話;否則傳回 False。另外,<=、<、> 依此類推。 a and b 代表 True,如果 a 與 b 都是 True 的話;否則傳回 False。 a or b 代表 True,如果 a 與 b 至少有一個是 True 的話;否則傳回 False。 not a 代表 True,如果 a 是 False 的話;否則傳回 False。 基本指令與函數 x = 算 式 是指定敘述。將算式的值這個物件指定給變數 x。如果 x 先前未使用過,則此指 定敘述也定義了 x。 x, y = a, b 是多重指定敘述。相當於 x = a 與 y = b 兩行敘述。不限於兩個,可以更多。 if...elif...else 條件選擇敘述 if 邏輯條件表示式 1 : 程式碼塊 elif 邏輯條件表示式 2 : 程式碼塊 elif 邏輯條件表示式 3 : 程式碼塊 ... else: 程式碼塊 # 非必須 # 非必須, 可重複多個 elif 分枝 # 非必須 type(a) 把物件 a 的資料型態名稱傳回。 1 int(a) 把物件 a 轉換成整數傳回,如果可以轉換的話。float(a)、str(a) 依此類推轉換成 浮點實數、字串。list(seq) 把任何序列型態的物件轉成串列型態。 tuple(seq) 把任 何序列型態的物件轉成多元組型態。 set(seq) 把任何序列型態的物件轉成集合型態。 hex(n) 把整數物件 n 轉換成十六進位的表示式 (字串) 傳回。bin(n) 則轉成二進位 (字串) 傳回。 while 迴圈,在邏輯條件表示式 1 成真時重複執行程式碼塊 1,邏輯條件表示式 1 不再成真 時 (迴圈離場) 執行程式碼塊 2。 while 邏輯條件表示式 1 : 程式碼塊 1 .. . if 跳離迴圈 (緊急出口) 條件式 : break if 跳離此回合條件式 : continue .. . else: 程式碼塊 2 # 非必須 # 非必須 # 非必須 for 迴圈,以序列提供的元素做為迴圈執行時的索引變數值 for 索引變數 in 序列 : 程式碼塊 if 跳離條件式 : break 程式碼塊 # 非必須 range(start,stop,step) 產生整數等差數列物件,可以當成被 for 迴圈操作的序列物 件。start 是數列首項,stop 是數列最後一項之後的下一項 (而不是最後一項),step 是公差。也可以使用 range(start,stop),所省略的公差預設是 1;更簡略的用法是 range(stop),所省略的首項預設是 0,公差預設是 1。 round(x,n) 將浮點實數 x 以四捨六入,取到小數點後第 n 位。 ord(s), chr(n) 前者傳回字元 (單一長度的字串) s 的 unicode 編碼 (整數),後者傳回 unicode 編碼是 n 的字元。 pass 不做任何事情的指令 (類似撲克牌遊戲的不叫牌)。 def 定義函數 def 函數名 ( 形式參數列 ) : ”””函數說明文件字串””” 程式碼塊 return 回傳值表示式 程式碼塊 #形式參數可以省略 # 非必須 # 非必須 try...except 錯誤例外處理 2 try: 程式碼塊 except error m: 程式碼塊 except error n: 程式碼塊 # 正常執行的情況,嚴密監視錯誤例外的發生 # error m 錯誤例外發生時,執行此區塊 # error n 錯誤例外發生時,執行此區塊 import m 載入 m.py 檔案裏所定義的模組。目前介紹的有 math 模組,我們用過了圓周率 math.pi、正弦函數 math.sin(rad)、開根號 math.sqrt() 等內建數值與函數;random 模組,可以應用各種隨機亂數的函數;turtle 模組,含有海龜式繪圖的指令。datetime 模組,則可以方便的處理日期與時間。 常用資料形態表示法 字 串 string: : 雙引號、單引號皆可。建議使用雙引號。例如:"abc", ’abc’。空字串 ""。 多 元組 tuple: : ("a", 2, 3.14)。空多元組 (), 單一元素多元組 ("a",)。 串 列 list: : ["a", 2, 3.14]。空串列 。 字 典 dictionary: : {"type": "A", "ID num": 2, "weight": 3.14}。空字典 {}。 集 合 set: : {"a", 2, "3.14"}。空集合 set()。 以 收 集 物 件 為 資 料 形 態 的 共 用 運 算 (多 多元 組 、 字 串 、 串 列 、 字 典、集合) len(C) 傳回物件 C 的長度 (元素的個數)。 max(C) 傳回物件 C 元素中排序最大的元素 (如果可以比較的話)。 min(C) 傳回物件 C 元素中排序最小的元素 (如果可以比較的話)。 sum(C) 傳回物件 C 元素的總和。如果元素無法加總,則會產生 TypeError 錯誤。 e in C 測試是否 e 是 C 裏的一個元素。如果是,會傳回 True,否則傳回 False。 e not in C 測試是否 e 不是 C 裏的一個元素。如果果然不是,會傳回 True,否則傳回 False。 for e in C 在 C 裏把每個元素值輪流賦予索引變數 e (e 先前沒用過、這裏第一次定義也 可),執行 for 迴圈 (元素有無次序,取決於是哪一種資料型態:字典、集合這兩種型 態的元素沒有一定的次序)。 sorted(C) 將 C 裏的元素從低排到高,以串列回傳。 3 序 列 形 態共 用 的 運 算 (多 多元 組 、 字 串 、 串 列 ) seq[i] 傳回序列 seq 的第 i 個元素 (i 從 0 開始), 從尾端開始數則 i 是 −1。 seq1 + seq2 傳回兩個序列連結後的新序列 (seq2 在 seq1 之後)。 n * seq 傳回重複 seq 序列 n 次的新序列。 seq[start:end:step] 傳回切下後的子序列,從 seq[start] 開始,到 seq[end-1] 為止, 索引指標間格為 step。start 預設值是 0, end 預設值是 len(seq), step 預設值是 1, 如果 任一參數省略的話,則以預設值執行;如果省略的是 step, 則與其配合的第二個冒號 「:」也可省略。如果 step 是負數,則傳回的子序列是由後往前的次序。 字串通用的操作方法 s.count(s1) 數出在字串 s 裏有幾個子字串 s1。傳回整數。 s.find(s1,a,b) 傳回在字串 s 中,子字串 s1 第一次出現的位置索引。如果不存在,則傳 回 −1。參數 a 可省略,是找尋的範圍起點值,預設值是 0。參數 b可省略,但是不省略 時,a 也不可省略;是尋找範圍的終點位置的下一個,預設值是字串的長度。 s.rfind(s1,a,b) 與 find 功能相同,但是尋找子字串時從字串 s 的尾部反向尋找。 s.index(s1,a,b) 與 find 功能相同,但是如果子字串 s1 不存在,則會提出錯誤例外。 s.rindex(s1,a,b) 與 index 功能相同,但是尋找子字串時從字串 s 的尾部反向尋找。 s.lower() 傳回一個新字串,是把字串 s 裏所有的大寫字母轉換成小寫字母。s.upper(), s.capitalize(), s.title(), s.swapcase() 也是做字母大小寫轉換的相關操作方法。 s.replace(old,new) 傳回一個新字串,是把字串 s 裏所有存在的子字串 old,代換成子字 串 new。 s.rstrip(s1) 傳回一個新字串,是把字串 s 的右端尾部,所有在 s1 所列有的字元都移除。 預設值是白字元 (包含空白, 定位字元 \t, 換行字元 \n 等等)。s.lstrip(s1) 有類似的 功能,卻是從左方頭部移除。s.strip(s1) 也有類似的功能,卻是從左右兩方都開始 移除。 s.split(d) 傳回一個串列,串列元素是從字串 s 切出來的子字串。切割點是以分隔字元 d 所定義的,預設值是白字元。 s.join(L) 傳回一個新字串,是以字串 s 做為接合的片段子字串,把 L 串列裏的元素 (必須 是字元或字串) 黏合成字串。可以看成是 split 操作方法的反向運作。 s.isalnum(), s.isalpha(), s.isdigit(), s.islower(), s.isspace(), s.istitle(), s.isupper() 依 據字串 s 的屬性傳回布林值。屬性依序分別是「字母數字」、「字母」、「阿拉伯數 字」、「小寫」、「空白」、「標題型大小寫」、「大寫」。 串列通用的運算與操作方法 L.append(e) 把物件 e 加入到串列 L 尾端。直接改變 L 物件。 L.count(e) 數出在串列 L 裏有幾個與物件 e 相同的元素。傳回整數。 4 L.insert(i,e) 把物件 e 插入成為串列 L 的第 i 筆元素。原先在該位置以及該位置之後的元 素,其位置索引往後順延一位。直接改變 L 物件。 L.extend(L1) 把另一串列 L1 連結在串列 L 之後。直接改變 L 物件。 L.remove(e) 把第一個出現的物件 e 從串列 L 元素中移除。直接改變 L 物件。如果原本串列 L 就沒有這個元素,則會提出錯誤例外。 L.index(e) 傳回物件 e 存在於串列 L 的元素第一次出現的位置索引。如果原本串列 L 就沒 有這個元素,則會提出錯誤例外。 L.pop(i) 移除並傳回串列 L 的第 i 筆元素。預設值是 −1 (最後一筆)。也直接改變 L 物件。 L.sort() 將串列 L 的元素位置調換,以物件特性由小到大的排序。直接改變 L 物件。 L.reverse() 將串列 L 的元素位置調換,尾部變成頭部。直接改變 L 物件。 通式 建 構 串 列 [ 索引變數算式 for 索引變數 in 序列 (非必要) if 過濾索引變數的條件敘述 ] 字典通用的運算 D.keys() 取得字典 D 裏所有的關鍵字 (keys) 做為元素形成特殊串列傳回。 D.values() 取得字典 D 裏所有物品的值 (values) 做為元素形成特殊串列傳回。 D.items() 取得字典 D 裏所有的 (關鍵字, 值) 多元組,形成特殊串列傳回。 D[k] 傳回在字典 D 裏關鍵字為 k 的物品的值。如果字典 D 裏沒有此物品,則會提出錯誤例 外。 D[k] = v 在字典裏建立一個物品,關鍵字為 k,值為 v。如果關鍵字早已存在於字典裏,則 該關鍵字所對應的物品的值會被 v 取代。 D.get(k,v) 與 D[k] 功能類似。但是如果字典 D 裏沒有此物品,則會傳回 v。 D.pop(k,v) 移除 (剪下) 關鍵字為 k 的物品,並回傳它所對應的值。但是如果字典 D 裏沒有 此物品,則會傳回 v。 del D[k] 移除關鍵字為 k 的物品。如果字典 D 裏沒有此物品,則會提出錯誤例外。 集合通用的運算與操作方法 S.add(e) 把物件 e 加入到集合 S 裏。如果原本就有這個元素,則此操作方法沒有作用。此 操作法直接改變 S 物件。 S.discard(e) 把元素 e 從集合 S 裏移除。如果原本沒有這個元素,則此操作方法沒有作 用。此操作法直接改變 S 物件。 S.remove(e) 把元素 e 從集合 S 裏移除。如果原本沒有這個元素,則會產生錯誤。此操作法 直接改變 S 物件。 S.clear() 把集合 S 裏的元素清空,變成空集合。 S1.intersection(S2) 或使用運算式 S1 & S2,產生一個新的集合,是兩者的交集。 5 S1.union(S2) 或使用運算式 S1 | S2,產生一個新的集合,是兩者的聯集。 S1.difference(S2) 或使用運算式 S1 - S2,產生一個新的集合,是兩者的差集:元素在 S1 裏,且不在 S2 裏。 S1.symmetric difference(S2) 或使用運算式 S1 ∧ S2,產生一個新的集合,是兩者的對 稱差集:二者的聯集但是扣掉交集。 s1 <= s2 傳回 True,如果 s1 是 s2 的子集。s2 >= s1 也會回傳 True。 輸入、輸出 print(a) 會把物件 a 在 shell 視窗印出。如果有多個以逗號分隔的物件,則會以空白分隔印 出,最後換行。如果括號內除了物件之外,加入了關鍵字參數 sep = s,則多個物件的 分隔用 s 代表的字串;加入了關鍵字參數 end = s,則最後不換行,只印 s 代表的字串 做結尾 (例如, 空白,空字串)。如果參數 a 省略,則馬上換行。 input(s) 從鍵盤取得使用者的輸入,傳回字串。s 是提示字串。為了批改方便,請把字串 s 以換行字符 \n 結尾。例如,input("Enter a number:\n") open(檔 檔名字 串 , 模 式 字 串) 打開電腦檔案,建立檔案把手,傳回所建立的把手 (檔案物 件)。 模 式 字 串 "w" 代 表 建 立 新 檔 用 於 覆 寫 ; 模 式 字 串 "r" 代 表 打 開 已 有 檔 案 用 於 讀 取 ; 模 式 字 串 "a" 代 表 打 開 已 有 檔 案 用 於 加 寫 。 檔 案 位 置 預 設 為 與 主 程 式 在同一個資料夾 (目錄)。如果要讀寫中文檔案 (或含有非 ASCII 字元),則必須給 編 碼 參 數 :open(檔 名 字 串, 模 式 字 串, encoding="utf-8")。 舊 的 中 文 編 碼 參 數 是 "big5"、"big5-hkscs",舊的 Windows 平台的編碼是 "cp950"。 讀 取 檔 案 使用 for 迴圈讀取檔案的每一行內容 (a file 是檔案把手, line str 是儲存當下那 一行的字串變數) for line str in a file: 程式碼塊 輸 出 檔案 使用 print() 指令,配合 file 參數。例如, print(..., file = a file) 會把原本要輸出到顯示幕的訊息寫到檔案物件 a file。 a file.close() 檔案物件操作方法,a file 是檔案物件。結束檔案操作,把還在輸出入緩 衝區的內容寫入儲存裝置。終止此物件的運作。 with 檔案操作敘述 (a file 是檔案把手物件),打開電腦檔案,建立檔案把手物件,在接下 來的內縮區塊的程式碼內有效,可以讀/寫檔案。在區塊外即自動關閉檔案。 with open(檔名字串, 模式字串) as a file: 檔案讀/寫程式碼塊 格式化輸出 模版字串 s 內至少含有一對大括弧。每一對大括弧代表要輸出資料的位置。使用操作方法 format() 列出資料參數。 s.format(data1, data2, ...) 大括弧內可以列有格式指令,次序與意義如下 (這裏的方括號代表有需要才使用的指令): 6 [ { [arg] : [ [fill] align] [sign] [width] [,] [.precision] [descriptor] } arg 代表 format() 操作方法的參數編號,從 0 開始。或者,代表操作方法的參數名稱。 冒 號 如果要使用其他指令,則要有冒號。 fill 填充字元。搭配 align 一起使用。在 align 符號之前的字元,會代替空白填入填充格 內。預設是空白字元。 align 對齊方式。有四種符號:< 向左對齊, > 向右對齊, ∧ 置中對齊; = 給數字使用,向右對 齊,在正負號與數字之間,會填入由 fill 指定的符號字元,例如 0。 sign 正負號處理方式。不管哪一種,負數一定會有負號。有三種符號:+ 一定會有正負號, 連正數也有正號;− 只有負數有負號,正數沒有,這是預設;「空格」是負數有負 號,正數改用空格,方便對齊。 width 寬度。以一個整數來指定這個資料需要的寬度 (單位是字元數)。如果資料輸出不足 以填滿寬度,則以前面 fill 指定的字元填充;如果沒有指定填充字元,則以預設的空 白字元填充。 逗 號 (半 半形) 如果需要在小數點的左方出現三位數一組的千位標記,則使用這個逗號。 .precision 浮點實數、科學記數法等資料,可以指定小數點右方要呈現的位數。例如,這裏 指定 .4 代表小數點右方要呈現四位數;如果資料位數超過這裏指定的位數,會四捨五 入;如果位數不足,則以 0 填充。預設是六位。 descriptor 標記資料的型態。s 代表字串,d 代表十進位整數,f 代表浮點實數,e 代表科 學記數法的實數,% 代表百分率。 海龜模組指令 import turtle 載入海龜繪圖模組。 turtle.Turtle() 建立海龜物件 (位中朝東)。 t.forward(x) 海龜物件 t 面向目前的方位前進 x 步 (以像素為單位)。 t.backward(x) 海龜物件 t 面向目前的方位,但是倒退 x 步 (以像素為單位)。 t.home() 把海龜物件 t 送回顯示視窗中心,面向東方。 t.right(deg) 海龜物件 t 從現在的方位,右轉 (順時鐘方向) 角度是 deg 度。 t.left(deg) 海龜物件 t 從現在的方位,左轉 (反時鐘方向) 角度是 deg 度。 t.goto(x,y) 海龜物件 t 從現在的位置漂移到新的位置 (x,y)。海龜面向的方位不受影響。 t.sety(y) 海龜物件 t 從現在的位置垂直漂移到新的 y 座標的位。海龜面向的方位不受 影響。 t.setx(x) 海龜物件 t 從現在的位置水平漂移到新的 x 座標的位置。海龜面向的方位不受影 響。 t.setheading(d) 海龜物件 t 設定它面向的方位角到 d 角度 (0 度是東方)。 7 t.position() 回傳海龜物件 t 目前位置座標。 t.xcor() 回傳海龜物件 t 目前位置座標的 x 分量。 t.ycor() 回傳海龜物件 t 目前位置座標的 y 分量。 t.heading() 回傳海龜物件 t 目前面向的方位角。 t.up() 海龜物件 t 提筆不畫軌跡。 t.down() 海龜物件 t 下筆開始可以畫軌跡。 t.pencolor(colorName) 把海龜物件 t 畫筆的顏色改成名稱為 colorName 的顏色。 t.fillcolor(colorName) 設定海龜物件 t 要填滿的顏色是名稱為 colorName 的顏色。 t.begin fill() 標記開始填滿,後續的海龜物件 t 繪圖動作屬於填滿的區域 t.end fill() 標記海龜物件 t 填滿區域結束。 t.dot(diameter, colorName) 以海龜物件 t 的位置為圓心,以指定的直徑 diameter、顏 色是 colorName 塗一個圓點。 t.circle(radius, extent, steps) 以海龜物件 t 的位置為起點,反時鐘方向前進畫圓, 半徑是 radius。預設是忽略第二、第三參數,完成一個圓,回到出發點、原來的方 位。extent 如果有設定,則要求畫出角度是指定數字的圓弧,例如,180 會畫出半 圓。steps 如果有設定,則是以指定的數量的線段完成這個圓,結果是一個多邊形;例 如,6 會畫出六邊形。 t.hideturtle() 把海龜物件 t 從顯示幕上藏起來。 t.showturtle() 把海龜物件 t 顯示在顯示幕上。 t.clear() 把海龜物件 t 在顯示幕上的軌跡清除。不影響位置與方位。 t.reset() 把海龜物件 t 在顯示幕上的軌跡清除,並且把海龜送回 home 的狀態。 t.color(顏 顏色 字 串 ) 改變代表海龜的圖像的顏色。顏色字串可以是 "blue", "red", "orange", "green", "black"。 t.shape(外 外形 字 串 ) 改變代表海龜的圖像的外形。外形字串可以是 "square", "classic", "turtle", "arrow", 或是經過 register shape() 登錄的圖檔檔名。 t.write(a) 會把物件 a 在海龜視窗裏目前海龜的位置印出。可追加關鍵參數 align = s 指定對齊的方式:s 字串可以是 "left", "center", "right"。可追加關鍵參數 font = a tuple 指定字型:a tuple 多元組是 (字型名稱字串, 字體點數大小, 樣式名稱字 串),例如, ("Arial", 24, "normal")。 turtle.textinput(a, b) 在海龜視窗裏顯示要求使用者輸入文字的小視窗,參數 a 是視窗 的標題,參數 b 是視窗裏的詢問句子。回傳的是使用者輸入的字串;如果使用者按了 「Cancel」的按鈕,則回傳的是 None。 圖檔檔名 ) 做為海龜圖像外形的圖檔檔名,要先經過這個操作方 turtle.register shape(圖 法登錄後,才可以用 shape() 操作方法給海龜換外形。必須是 ".gif" 格式的圖檔。 設 定 海龜 繪 圖 視 窗大 小 與 座 標 可以用以下程式碼: turtle.setup(width=w ratio, height=h ratio) # w ratio 是顯示幕寬的百分之幾; turtle.setworldcoordinates(-10,-10,10,10) w0, h0 = turtle.screensize() turtle.setworldcoordinates(-w0/2, -h0/2, w0/2, h0/2) 8 turtle.bgpic(圖 圖檔 檔名 ) 設定海龜繪圖視窗的背景圖。如果視窗尺寸大於圖,則會在邊緣留 白;如果圖大於視窗,則會在邊緣切邊。不會對圖縮放。必須是 ".gif" 格式的圖檔。 random 模 組 指 令 random.int(a,b) 它會產生在整數 a 與 b (含) 之間的某一個隨機整數。 random.shuffle(L) 它會將串列 L 的內容次序重新洗牌。直接改變 L 物件。 csv 模 組 指 令 import csv 載入 csv 模組。 csv.reader(a file) 以 csv 格式讀入 a file 所代表的檔案把手物件 (由 open 指令取得), 檔案裏每一橫列讀成一個子串列,子串列裏每一個元素是每一欄。構成串列傳回,然 後可以用 for 迴圈依序操作。 panda 模 組 指令 載入 模 組 可以使用下列指: import pandas as pd pd.read excel(file name) 只需提供檔名字串 file name,使用者不需要使用 open 指令。 讀入的資料以資料框架 data frame 的物件傳回。如果原檔有多個工作頁 (work sheets), 則括弧內可追加關鍵字參數 sheet name = s 來指定欲讀入的工作頁名稱,s 代表工 作頁名稱的字串;如果原檔在直欄的標題前有好幾個與行、列結構無關的橫列必須略 過,則括弧內可追加關鍵字參數 skiprows = n 來指定欲略過的橫列數,n 代表橫列數 整數。 df.columns 資料框架 df 各直欄的標題可以用這個物件資料屬性 .columns 取得。得到的是 有各欄標題字串的串列。 df[col key] 資料框架 df 其中標題是 col key 字串的直欄,以串列傳回。 df[col key][row index] 資料框架 df 其中標題是 col key 字串的直欄中,第 row index 筆 元素取得傳回。 df.insert(m, 新 欄 標題 字 串 , 串 列) 在資料框架 df 第 m 欄插入新的直欄。原來的第 m 欄 往右移動。新的第 m 欄的標題如同傳入的字串參數,直欄的內容如同傳入的串列參 數。 df.to excel(file name) 只需提供檔名字串 file name (必須包含正確的副檔名,例如 ".xls" 或 ".xlsx"),使用者不需要使用 open 指令。如果不需要在最左邊直欄多出 一欄橫列編號欄,可以追加關鍵字參數 index=False。 9 datetime 模 組 指 令 datetime.time(h,m) 表示時間的物件,h 代表小時的整數,m 代表分鐘的整數。 例如,datetime.time(11,29) 代表上午 11 點 29 分;datetime.time(18,0) 代表下午 六點整。 datetime.datetime(y,mo,d,h,m) 表示日期、時間的物件,y 代表年份的整數、mo 代表月 份的整數、d 代表日數的整數、h 代表小時的整數、m 代表分鐘的整數。 例如,datetime.datetime(2019,3,14,15,9) 代表 2019/3/14 那天的下午三點九分。 dt.year, dt.month, dt.day 一個表示日期、時間的物件 dt,它的資料屬性 .year, .month, .day 可以取得所代表的年份、月份、日數的整數;類似的情況,.hour, .minute, .second 可以取得所代表的時、分、秒的整數。 關 係運 算 子 ==, <=, <, >, >=, != 都可以用來比較日期、時間物件的前後關係。 datetime.datetime.now() 取得代表目前日期、時刻的戳記的日期時間物件的操作方法。 dt.strftime(日 日期 時 間 格式 字 串 ) 一個表示日期、時間的物件 dt,將之以字串表達。表達 的格式依照傳入的格式字串 (有區分大小寫)。"%Y" 代表年份,"%m" 代表月份,"%d" 代 表日子,"%H" 代表 24 小時制的小時,"%M" 代表分鐘, "%S" 代表秒;例如,"%Y/%m/%d, %H:%M:%S" 會得到 "2020/03/23, 20:28:04"。 os 模 組 指 令 os.getcwd() 一個操作方法 (函數),會回傳字串,對應目前的工作目錄。 os.sep 一個資料屬性 (變數),代表目前系統平台所用的路徑節點的分隔符號字串。 os.listdir(目 目錄 路 徑 字 串) 一個操作方法 (函數),會回傳一個串列,其中每個元素是傳入 路徑目錄裏包含的檔案名與子目錄名。"." 是代表目前目錄的縮寫,".." 是代表目前 目錄的上一層的縮寫。 os.chdir(目 目錄 路 徑 字串 ) 一個操作方法 (函數),會將傳入路徑目錄設定成目前的目錄。 os.path.isfile(路 路徑 字 串) 一個操作方法 (函數),會回傳 True,如果路徑指的是一個檔 案;不存在、或指的是目錄則回傳 False。 os.path.isdir(路 路徑 字 串 ) 一個操作方法 (函數),會回傳 True,如果路徑指的是一個目 錄;不存在、或指的是檔案則回傳 False。 os.path.exists(路 路徑 字串 ) 一個操作方法 (函數),會回傳 True,如果路徑指的檔案或目 錄存在;不存在則回傳 False。 os.path.basename(路 路徑字 串 ) 一個操作方法 (函數),會回傳該路徑的最後一節的名字 (字 串)。 os.path.dirname(路 路徑 字 串 ) 一個操作方法 (函數),會回傳該路徑從最前到最後一節前的 名字 (字串)。 os.path.split(路 路徑 字 串 ) 一個操作方法 (函數),會回傳一個串列,包含了兩個元素,一 個是該路徑從最前到最後一節前的名字 (字串),另一個是最後一節的名字 (字串)。 os.path.splitext(路 路徑 字 串 ) 一個操作方法 (函數),會回傳一個串列,包含了兩個元 素,將路徑字串以副檔名的分隔符號 "." 為分割的標的,在它之前的字串是一個元 素,在它之後 (分隔符號與副檔名) 的是另一個元素。 10 os.path.join(目 目錄 路徑 字 串 , 檔 名字 串 ) 一個操作方法 (函數),將檔名前冠上目錄路徑, 合成出該檔案的完整路徑字串後回傳。 os.mkdir(目 目錄 路徑 字 串 ) 一個操作方法 (函數),建立新資料夾 (新目錄)。目錄路徑字串只 有最後一節是新的,前面幾節必須已經存在。 os.walk(目 目錄 路 徑 字串 ) 一個操作方法 (函數),以傳入的目錄路徑為出發點,回傳能夠拜 訪旗下所有檔案的串列: for dirname, dir lst, file lst in os.walk(目錄路徑字串) : for a file name in filst lst : full pagh = os.path.join(dirname, a file nam) 針對 full path 做處理的程式碼 (例如,開啟該檔案) 11 ...
View Full Document

  • Fall '19

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture

  • Left Quote Icon

    Student Picture