作者suzuke (suzuke)
看板Python
标题Re: [讨论] 过滤资料(多重条件)
时间Sun Jul 24 00:02:37 2011
※ 引述《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
1F:推 josefy:感谢 07/25 20:27