python 字串處理心得

2021-07-13 19:46:33 字數 1406 閱讀 6543

最近做乙個專案需要用樹莓派做主控,樹莓派提供了兩種開發語言,一種是python ,另一種你猜是什麼?呵呵 當然是 c 啦,由於之前都是用c開發,對c是那是愛不釋手啊,呵呵。可是問題來了,我需要用樹莓派通過spi與arduino通訊,新手沒做過,整麼辦呢?當然是萬能的網路了,那就是個寶庫啊!然而,當我在網上浪裡淘沙般搜尋需要的材料時,哎,簡直就是鳳毛麟角,做過相應的就是那麼一兩個。。。樹莓派和arduino在中國不是很風靡了麼??沒辦法,只能硬著頭皮看國外論壇了(不怕笑話,我四級都考了三次才過,嗚嗚),雖然單詞十之**不相識,還好能理解,**是我們的共同語言,o(∩_∩)o,問題接著又來找我拉,例程是有些,至少比過內的多,可是用的是python 寫,嗚嗚,之前都沒聽說過,其實他是很強大的指令碼語言,怪我孤陋寡聞。好頭痛啊,為了達到目標,呵呵只能硬著頭皮上了,看了一天的基礎語法配合一些例程,算是對基本語法格式熟悉了,與c最大的特別之處就是,他是通過縮進來表示不同的**塊,而c用的是{}。有很多體會,挑感觸最深的說吧。。畢竟時間寶貴。

原來並沒有亂碼,只是那是ascii碼,怪我與你不熟,沒認出你來,給我的懲罰就是花了好多精力去查東東,什麼波特率啊,時序啊,接收函式有沒有邏輯問題。。。哎最後也不知道整的就腦子一閃,是不是ascii,嗚嗚,一定的量才會導致質的變化,真是至理名言呀。

只要將ascii轉換為字元就行啦。就是這句data=chr(get_data),好神奇啊,困擾幾天的問題就這樣解決了。

還有乙個更神奇的問題,就是pi是能接收arduino發過來的資料,而且能正確顯示出來,我需要根據這個資料進行的相應的判斷,就需要用到 if get_string == 「id1」,天哪,他就是不相等,我用

print get_string,結果就是」id1」,嗚嗚,見鬼了麼?python 這麼神奇,也不用這麼怪吧!自己想呀想,實在是頭疼啊。網上搜啊搜,沒有遇到相同坑的兄弟啊,幾天過去了,嗚嗚,難道就這樣判了死刑了,這麼神奇的問題實在是太蹊蹺了,感覺無從下手啊。就在鬼使神差間,我將資料格式轉啊轉,字串轉換為列表再判斷,不行。字串轉換為ascii,不行。字串轉換為hex,不行,不過在轉換輸出十六進製制資料時,我瞧見了狐狸的尾巴,呵呵。就是我接收的是乙個字元,轉換為十六進製制顯示時前面就多出了」00「,這就隱藏在深處的鬼啊,查查他什麼來歷,ascii表顯示他的身份是空字元,嗚嗚,什麼鬼?空字元?將資料字元形式顯示時根本看不見他,十六進製制才讓他現出了真身。。當初我將他與字串相比較,呵呵,他死活不認,看來是我不了解他。。。接收的字串為什麼會多出個空字元呢?哎不管了,可能是接收函式邏輯有問題吧。。吃到苦果子了。。解決問題最重要的就是要找到問題的原因,找到他的根本原因。當然這是最難的,其實解決問題要比發現問題的原因要難的多。。。問題找著了,解決就是分分鐘的事,前面不是無緣無故多了個空字元麼?其實天下沒有無緣無故的事,只是你沒有發現他出現的原因而已!解決方法就是將這個空字元去掉就ok了!沒錯,就是這樣輕而易舉的解決了。

本事是靠磨練出來的,是靠苦逼苦出來的,要想提高自己的本事,就得去挑戰更高難度的東西。

Python 字串處理

python endswith 方法用於判斷字串是否以指定字尾結尾,如果以指定字尾結尾返回 true 否則返回 false 可選引數 start 與 end 為檢索字串的開始與結束位置。語法 endswith 方法語法 str.endswith suffix start end 引數 返回值 如果字...

Python字串處理

去空格及特殊符號 s.strip lstrip rstrip 複製字串 strcpy sstr1,sstr2 sstr1 strcpy sstr2 sstr1 sstr1 strcpy2 print sstr2連線字串 strcat sstr1,sstr2 sstr1 strcat sstr1 ss...

Python字串處理

python字串處理 part i 常見處理函式 string.find sub,start 0,end len string 檢測sub是否包含在string中,如果是返回 第乙個sub 開始的索引值,否則返回 1.string.index sub,start 0,end len string 跟...