我正在尝试使用os.system("grep 'regex' /path/to/file.log")
来浏览文件。我知道正则表达式是正确的,并且该命令在从shell运行时有效,但是一旦我尝试运行脚本,我就会收到以下错误:
sh: /path/to/file.log: Permission denied
os模块是否未以我的权限运行?另外,有更好的方法吗?我需要在40,000+行文件中找到特定的行。
谢谢!
答案 0 :(得分:3)
使用Python的内置正则表达式模块re
来实现这一点可能更容易,而不是炮轰grep
。
import re
with open(filename, 'r') as f:
for line in f:
if re.search(regex, line):
print line,
我知道这并没有直接回答这个问题,但它可能是解决潜在问题的正确方法。我认为这属于“有更好的方法吗?”你的问题的一部分。