小编pja*_*no1的帖子

匹配在python中找到的字符串之后打印一些前面的行

我正在编写一个程序来解析一些日志文件.如果行中有错误代码,我需要打印前25行进行分析.我希望能够根据各个错误代码(而不是25行,15或35)用更多或更少的行重复这个概念.

with open(file, 'r') as input:
     for line in input:
         if "error code" in line: 
             #print previous 25 lines
Run Code Online (Sandbox Code Playgroud)

我知道Bash中的等效命令是我需要的grep "error code" -B 25 Filename | wc -1.我一般都是python和编程的新手,我知道我需要一个for循环而且我已经尝试使用这个range函数来做这个但我运气不好因为我不知道如何实现范围到文件中

python text-parsing fileparsing

3
推荐指数
1
解决办法
1441
查看次数

如何使用 python 脚本在目录之间“cd”

我正在编写一个测试脚本,如果确认该路径存在并且是一个目录,则该脚本应该从当前目录 cd 到新目录

serial_number = input("Enter serial number: ")
directory = "/etc/bin/foo"
if os.path.exists(directory) and os.path.isdir(directory):
   #cd into directory?
   subprocess.call(['cd ..' + directory])
Run Code Online (Sandbox Code Playgroud)

我的困境是我不知道如何正确地将变量传递到子进程命令中,或者是否应该使用 call 或 Popen。当我尝试上面的代码时,它返回一个错误,指出No such file or directory "cd ../etc/bin/". 我需要从当前目录返回一个目录,这样我就可以输入/etc并读取其中的一些文件。有什么建议吗?

python linux subprocess python-3.x

0
推荐指数
1
解决办法
1万
查看次数