python os.system()没有以我的权限运行?

时间:2012-11-09 19:29:35

标签: python security permissions grep os.system

我正在尝试使用os.system("grep 'regex' /path/to/file.log")来浏览文件。我知道正则表达式是正确的,并且该命令在从shell运行时有效,但是一旦我尝试运行脚本,我就会收到以下错误:

sh: /path/to/file.log: Permission denied

os模块是否未以我的权限运行?另外,有更好的方法吗?我需要在40,000+行文件中找到特定的行。

谢谢!

1 个答案:

答案 0 :(得分:3)

使用Python的内置正则表达式模块re来实现这一点可能更容易,而不是炮轰grep

import re

with open(filename, 'r') as f:
    for line in f:
        if re.search(regex, line):
            print line,

我知道这并没有直接回答这个问题,但它可能是解决潜在问题的正确方法。我认为这属于“有更好的方法吗?”你的问题的一部分。