- 此问题在此处已有答案**:
(19个答案)
Replace part of a string in Python?(3个答案)
昨天关门了。
有一个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?
任何帮助都将不胜感激
1条答案
按热度按时间v440hwme1#
TEST_CASE=
命令获取FILENAME的值,删除./前缀和. vrlp后缀,反转字符顺序,提取基于/作为分隔符的第一个字段,然后再次反转字符顺序。然后,
CLASS=
命令获取FILENAME的值,删除./前缀、/$TEST_CASE后缀和. vrlp后缀。在python中: