如何使用python

时间:2018-03-22 15:46:33

标签: python linux python-3.x ubuntu unix

我有一个包含多个文件的目录,我只想grep test.uwsgi.log个文件并删除.uwsgi.log部分。在greping名称之后,我将它存储在输出文件中。

这是我得到的:

import subprocess
testlist = “cd /root/test/ && ls | grep ‘uwsgi.log' |sed 's/\.uwsgi.log\>//g' > /root/test/testlist.txt"
output = subprocess.check_output(['bash','-c', testlist])

,输出为:

test1
test2
test3

有人可以教我如何在没有子进程模块的情况下实现这一目的并仅使用python吗?

1 个答案:

答案 0 :(得分:1)

单独使用Python:

import os

for _, dirs, files in os.walk('/root/test/'):
    with open('output.txt', 'w') as out_file:
        out_file.writelines("{}\n".format(f) for f in files if f.endswith('uwsgi.log'))

output.txt符合预期:

test1
test2
test3

注意我在列表推导中为每个元素添加了\n。因为writelines不会自动执行此操作。