alv*_*vas 0 python regex io file
给定目录中的文件列表:
import os
os.listdir('system-outputs/newstest2016/ru-en')
Run Code Online (Sandbox Code Playgroud)
[OUT]:
['newstest2016.AFRL-MITLL-contrast.4524.ru-en',
'newstest2016.AFRL-MITLL-Phrase.4383.ru-en',
'newstest2016.AMU-UEDIN.4458.ru-en',
'newstest2016.NRC.4456.ru-en',
'newstest2016.online-A.0.ru-en',
'newstest2016.online-B.0.ru-en',
'newstest2016.online-F.0.ru-en',
'newstest2016.online-G.0.ru-en',
'newstest2016.PROMT-Rule-based.4277.ru-en',
'newstest2016.uedin-nmt.4309.ru-en']
Run Code Online (Sandbox Code Playgroud)
然后我有输入:
filename, suffix = 'newstest2016.AFRL-MITLL-contrast', 'ru-en'
Run Code Online (Sandbox Code Playgroud)
使用文件名,如果我想进行正则表达式匹配,以便我可以读取文件newstest2016.AFRL-MITLL-contrast.4524.ru-en,我可以这样做:
import re
fin = open(next(_fn for _fn in os.list('system-outputs/newstest2016/ru-en') if re.match(filename + '.*.' + suffix, _fn) for _fn in))
Run Code Online (Sandbox Code Playgroud)
但有没有办法读取/打开"模糊匹配"文件名?必须有比re.match上面原油更好的方式.
可以假设应该总是有一个明确的匹配os.listdir.
| 归档时间: |
|
| 查看次数: |
501 次 |
| 最近记录: |