看板 Python 關於我們 聯絡資訊
感謝S兄的解答 小弟我遇到另一個困難 就在把寫好的程式由linux拿到Windows上跑的時候 搜尋不出任何結果 我猜是因為windows灌的python不支援grep 因此後來改回 .findall這個方法 結果也可以用了 但想要請問的是 如果要找的東西放在一個list裡面 a=['A','B','C','D','E'] 然後我希望能夠疊代進入.findall裡面 result=re.findall('(.*)a[index](.*)',data,re.I) 似乎不太可行 請問有甚麼方法嗎 應該不會需要寫五次 fe.findall吧? ^.^" 謝謝 ※ 引述《suzuke (suzuke)》之銘言: : ※ 引述《josefy (醉落~最弱)》之銘言: : : 小弟的寫法其實很普通 : : import glob : : files=glob.glob('./*') : : print files : : for file ind files: : : object=command.getoutput("grep -e 'ABC\|DEF'"+ file) : ^這邊少了一個空格 : 你這樣shell的指令變成 grep -e 'ABC\|DEF'txta : object=command.getoutput("grep -e 'ABC\|DEF' "+ file) : 要改成這樣就沒問題了 : : print object : : 資料夾內有 : : txta txtb txtc : : 第一個print沒問題 可以print出txta txtb txtc : : 之後進入檔案搜尋 ABC DEF就跑不完了 : : 內容應該沒有問題 -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 114.37.128.60
cobrasgo:若你的程式要移植性高,最好不要用系統相關的程式 07/24 21:01
cobrasgo:多利用python本身的module來實作會比較好 07/24 21:01