我的文件看起来像这样:
face LODRxERROR
{
source R/com/int/LRxAMEexception.csv
contains R/saqf/LAWODRxERROR.ddf
contains R/bld/LAWODRxERRORtyp.h
contains R/bld/LAWODRxERRORtyp.hpp
requires LAWODRxERR
}
目前,我能够读取并存储特定行。但我需要更具体。而不是阅读整行。我只想读取文件名而不是目录。因此,我只想读R/bld/LAWODRxERRORtyp.hpp
LAWODRxERRORtyp.hpp
到目前为止,这是我的python代码:
with open(file) as scope:
for line in scope:
line = line.strip()
if line.startswith('contains') and line.endswith('.h') or line.endswith('.hpp'):
scopeFileList.append(line.split()[-1])
预先感谢
答案 0 :(得分:1)
您可以使用内置函数os.path.basename()
从路径中仅获取文件名:
{{1}}
答案 1 :(得分:0)
尝试一下
with open("file1.txt", "r") as f:
data = [line.replace("\n","").split('/')[-1] for line in f.readlines() if '.' in line]
输出:
print(data)
['LRxAMEexception.csv',
'LAWODRxERROR.ddf',
'LAWODRxERRORtyp.h',
'LAWODRxERRORtyp.hpp']
答案 2 :(得分:0)
尝试一下:您可以使用re.search从路径中查找文件名
echo 'test1:' .$data['atacadista'];
echo 'test2:' .$atacadista;
O / P:
with open('new_file.txt') as file:
for line in file:
line = line.strip()
if line.startswith('source') or line.startswith('contains'):
file_names = re.search('/(.+?)\/((\w+)\.\w+$\Z)', line).group(2)
print(file_names)