Для проекта мне нужно извлечь данные о цвете, которые определены в файле IFC. IFC определяет модель сущности-отношения на основе EXPRESS, состоящую из нескольких сотен объектов, организованных в иерархию наследования объектов.Запись регулярных выражений в файл Python
Раздел файла IFC для в качестве примера:
#3510= IFCCLOSEDSHELL((#3392,#3410,#3421,#3440,#3451,#3462,#3473,#3484,#3495,#3506));
#3514= IFCFACETEDBREP(#3510);
#3517= IFCCOLOURRGB($,0.9372549,0.79215686,0.44705882)
Теперь я хочу, чтобы добиться возвращения всех цветовых данных с помощью регулярных выражений в Python. До сих пор я пришел с этим (я новичок в программировании)
открывает файл
МФКIfcFile = open('ifc2.ifc', 'r')
#defines the string
IfcColourData = re.compile('ifccolourrgb', re.IGNORECASE)
#iterating over the ifc file
for RadColourData in IfcFile:
if re.search(IfcColourData, RadColourData):
print(RadColourData)
IfcFile.close()
#writing the data to a file
f = open('IFC2RAD.txt', 'w')
f.write(RadColourData)
f.close()
код работает, он возвращает все строки в ifcfile с IfcColourRGB в них. (Что я вижу на моей консоли). Я использую Eclipse с Pydev и Python 3.4.
Только когда я хочу записать результат RadColourData в файл IFC2RAD.txt, он записывает только последнюю строку файла ifc в файл IFC2RAD.txt. Что я делаю не так?