介紹完stdio,接著就進入複雜stdio與檔案間的處理層級~
---
strip 用法
stdio的輸入輸出或方法都是sys套件已經寫好的,那要如何從外加功能讓stdio 可以多一點彈性;且可以外加功能改變他的方法?
strip | 效果 | 指向 |
---|---|---|
strip | 移除指定開頭及結尾的字元 | 開頭及結尾 |
rstrip | 移除右邊指定的字元 | 結尾 |
lstrip | 移除左邊指定的字元 | 開頭 |
- 值得注意的是:刪除指定字元要注意指向是否有掃描到 因為此方法的刪除是依據指標來掃描刪除的
- 另外:假如沒給任何值就是刪除控制符 ( asciiCode 0x20以下控制碼)
Ex:(玩玩strip)
a = "0987321456aaa9870156423"
b = "\n\n \n\n\n \r\r\n\r \r\t\a\a \a\a\t\r"
#
print(a)
print(a.strip("0123456789"))
print(a.strip("123456789"))
print(a.strip("0123456"))
print(a.strip())
print(b.strip())
#
print(a.rstrip("0123456789"))
#
print(a.lstrip("0123456789"))
- 補充:map() 用法
如果要從多個陣列或位置擷取資料 , 當然可以用a[x] 方法把需要的資料抓取到指定位置,但有時要做批次處理的話就顯得太”雞肋”了。 所以只要是牽扯批次處理的(讀,寫,改變結構…) 就可用此方法:
list = map("方法" , "目標資料組")
#下面較常用
'object' = list(map("方法" , "目標資料組"))
簡單的例子:
lia = { 1 , 2 , 3 , 'apple' , '[}@#$%'}
print(list(map(str , lia)))
最好用的地方在於..方法可放函數(def) 也可放class(物件導向會在談)
def procs(x,y,z):
return x+y+z
lista = [1,3,5,7,9]
listb = [2,4,6,8,10]
listc = [100,100,100,100,100]
print(list(map(add,lista,listb,listc)))
好滴 現在可以改變stdio的方法讓他更有彈性
Ex:(stdio檔案內)