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