정규 표현 식 데이터 읽 기(칠교판)
2484 단어 Python
코드:
import re
import copy
# get colours and coordinates
def available_coloured_pieces_orig(file_name):
# get all coordinates from file
coloured_pieces = [] # store coordinates
line = file_name.readline()
while line:
line_tmp = copy.deepcopy(line) # deepcopy for using split() function
line_tmp_split = line_tmp.split()
if len(line_tmp_split) > 0 and line_tmp_split[0] == ": [30, 20, 110, 20, 110, 120, 30, 120]
shape_color = [] # : ["red", (30, 20), (110, 20), (110, 120), (30, 120)]
shape_color.append(line_tmp.split('"')[-2])
for i in range(len(shape))[::2]:
point = (shape[i], shape[i+1])
shape_color.append(point)
coloured_pieces.append(shape_color) # store each shape's coordinates
line = file_name.readline()
return coloured_pieces
# regular_expression
def available_coloured_pieces(file_name):
coloured_pieces = [] # store coordinates
# shape_color = []
line = file_name.readline()
info_pattern = ''
point_pattern = ' (\d+)'
color_pattern = '"(\w+)"'
while line:
line_info = re.findall(info_pattern, line)
if line_info:
line_point = re.findall(point_pattern, line_info[0])
line_color = re.findall(color_pattern, line_info[0])
shape_color = []
# shape_color.clear()
shape_color.append(line_color[0])
for i in range(len(line_point))[::2]:
point = (int(line_point[i]), int(line_point[i + 1]))
shape_color.append(point)
coloured_pieces.append(shape_color)
line = file_name.readline()
return coloured_pieces
file = open('tangram_A_1_a.xml')
coloured_pieces_orig = available_coloured_pieces_orig(file)
file = open('tangram_A_1_a.xml')
coloured_pieces = available_coloured_pieces(file)
print(coloured_pieces == coloured_pieces_orig)
주:글 에서 초기 정 의 된 shape 를 사용 하면color=[],shape 사용color.clear()와 colouredpieces.append(shape_color)오류 가 발생 합 니 다.append 에 색인 값 이 들 어 갔 기 때문에 shape 를 변경 합 니 다.color 의 내용,coloredpieces 중 이전에 append 가 들 어간 shape컬러 도 달라 진다.
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
Python의 None과 NULL의 차이점 상세 정보그래서 대상 = 속성 + 방법 (사실 방법도 하나의 속성, 데이터 속성과 구별되는 호출 가능한 속성 같은 속성과 방법을 가진 대상을 클래스, 즉 Classl로 분류할 수 있다.클래스는 하나의 청사진과 같아서 하나의 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.