有一个bash命令,我正在尝试将逻辑转换成python。但是我不知道该怎么做,我需要一些帮助。
bash命令如下所示:
ls
ls *
TODAY=`date +%Y-%m-%d`
cd xx/xx/autotests/
grep -R "TEST_F(" | sed s/"TEST_F("/"#"/g | cut -f2 -d "#" | while read LINE
逻辑是在一个目录中,一个接一个地读取文件名,包括所有的子文件夹,然后列出文件匹配。
我尝试了类似下面这样的东西,但这不是我想要的。里面有一些子文件夹,代码没有阅读其中的文件
import fnmatch
import os
from datetime import datetime
time = datetime.now()
dir_path = "/xx/xx/autotests"
dirs = os.listdir(dir_path)
TODAY = time.strftime("%Y-%m-%d")
filesOfDirectory = os.listdir(dir_path)
print(filesOfDirectory)
pattern = "TEST_F("
for file in filesOfDirectory:
if fnmatch.fnmatch(file, pattern):
print(file)
1条答案
按热度按时间olhwl3o21#
使用
os.walk()
递归扫描目录。打开每个文件,遍历文件中包含
"TEST_F("
的行,然后提取后面的行(sed
和cut
就是这么做的)。