有一个shell命令,我正在尝试将逻辑转换为python。但我不知道该怎么办,我需要一些帮助。
shell命令是这样的:
cd ../../../tests/src/main/test
ls
find . -name '*.vrlp' | while read FILENAME
do
TEST_CASE=`echo $FILENAME | sed s/"\.\/"//g | sed s/"\.vrlp"//g | rev | cut -f1 -d"/" | rev`
CLASS=`echo $FILENAME | sed s/"\.\/"//g | sed s/"\/$TEST_CASE"//g | sed s/"\.vrlp"//g`
逻辑位于目录内部,使用 find 过滤所有存在的文件。 -name '*.vrlp',包括所有子文件夹
然后将数据检索到参数中。
TEST_CASE=`echo $FILENAME | sed s/"\.\/"//g | sed s/"\.vrlp"//g | rev | cut -f1 -d"/" | rev`
CLASS=`echo $FILENAME | sed s/"\.\/"//g | sed s/"\/$TEST_CASE"//g | sed s/"\.vrlp"//g`
我尝试了如下操作,但我不知道 sed 命令到底在做什么以及如何将其转换为 python 脚本。例如
为了检索发送到参数 CLASS 和 TESTCASE 的数据,我做了剪切(
cut -f1 -d"/"
)但我不知道如何执行 sed 和 rev 来检索 TEST_CASE 和 CLASS 的值
for root, dirs, files in os.walk(../../../tests/src/main/test):
for file in files:
file_name = os.path.basename(file)
file = os.path.splitext(file_name)
if '.vrlp' in file:
FILENAME = file[0] + file[1]
TEST_CASE = FILENAME.split("/")[0] // how to apply sed and rev here?
CLASS = FILENAME // how to apply sed here?
任何帮助都感激不尽