我正在尝试使用 os.system("grep 'regex'/path/to/file.log") 来 grep 文件。我知道正则表达式是正确的,并且该命令在从 shell 运行时有效,但是一旦我尝试运行脚本,就会收到以下错误:
sh: /path/to/file.log: Permission denied
os 模块是否未以我的权限运行?另外,有更好的方法吗?我需要在 40,000 多行文件中查找特定行。
谢谢!
最佳答案
使用 Python 内置的正则表达式模块 re
来完成此操作可能比使用 grep
更容易。
import re
with open(filename, 'r') as f:
for line in f:
if re.search(regex, line):
print line,
我知道这并不能直接回答问题,但它可能是解决根本问题的正确解决方案。我认为这属于“有更好的方法吗?”的问题。您问题的一部分。
关于python os.system() 没有以我的权限运行?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/13314664/