Re: [討論] 過濾資料(多重條件)

看板Python作者 (suzuke)時間14年前 (2011/07/24 00:02), 編輯推噓1(100)
留言1則, 1人參與, 最新討論串9/11 (看更多)
※ 引述《josefy (醉落~最弱)》之銘言: : 感謝S兄的解答 小弟我遇到另一個困難 : 就在把寫好的程式由linux拿到Windows上跑的時候 : 搜尋不出任何結果 我猜是因為windows灌的python不支援grep grep本身不是python的指令 而是在linux shell底下的一個程式 因為是利用python的command模組來調用shell裡的指令來用 所以當然在windows底下沒辦法使用 不過我印象中python好像也有類似grep的模組(不太確定~) : 因此後來改回 .findall這個方法 結果也可以用了 : 但想要請問的是 如果要找的東西放在一個list裡面 : a=['A','B','C','D','E'] : 然後我希望能夠疊代進入.findall裡面 : result=re.findall('(.*)a[index](.*)',data,re.I) ^^^^^^^^^^^^^^^^基本上這邊給的就是一個字串 所以你應該去讀一下有關python字串的使用方法 舉例來說, 如果你有五個字串分別是dir_A, dir_B, dir_C, dir_D, dir_E 那要怎麼用變數來簡化寫法勒 就是 a = [ 'A', 'B', 'C', 'D', 'E'] for name in a: print "dir_" + name 這邊的"dir_a"是一個字串, 可以和另一個字串(由變數name取代)相加成為一個新的字串 如果只是很簡單的字串可以這樣用 不過基本上還是建議也把正規表示法學好, 會有很大的幫助 : 似乎不太可行 請問有甚麼方法嗎 : 應該不會需要寫五次 fe.findall吧? ^.^" 謝謝 : ※ 引述《suzuke (suzuke)》之銘言: : : ^這邊少了一個空格 : : 你這樣shell的指令變成 grep -e 'ABC\|DEF'txta : : object=command.getoutput("grep -e 'ABC\|DEF' "+ file) : : 要改成這樣就沒問題了 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 123.194.205.24

07/25 20:27, , 1F
感謝
07/25 20:27, 1F
文章代碼(AID): #1EAl2Wq1 (Python)
討論串 (同標題文章)
文章代碼(AID): #1EAl2Wq1 (Python)