1. **ezdxf 라이브러리**:
ezdxf는 DXF 파일을 파이썬에서 처리하기 위한 인기 있는 라이브러리 중 하나.
이 라이브러리를 사용하면 DXF 파일을 읽고 쓸 수 있으며, 그래픽 요소를 조작할 수 있다.
예제:
설치
pip install ezdxf
=============================================================
import ezdxf
# Create a new DXF document
doc = ezdxf.new()
# Add a new modelspace (drawing area) to the DXF document
msp = doc.modelspace()
# Draw a line from (0, 0) to (10, 10)
msp.add_line(start=(0, 0), end=(10, 10))
# Draw a circle with center (5, 5) and radius 3
msp.add_circle(center=(5, 5), radius=3)
# Save the DXF document to a file
doc.saveas("example.dxf")
print("DXF file 'example.dxf' created successfully.")
===========================================================
파이썬에서 DXFwrite 예제
dxfwrite 라이브러리를 사용하여 Python에서 DXF 파일을 작성하는 예제.
dxfwrite는 간단한 DXF 파일을 만들고 수정하는 데 사용할 수 있는 라이브러리 중 하나.
설치
pip install dxfwrite
예제
python
from dxfwrite import DXFEngine as dxf
# Create a new DXF document
dwg = dxf.drawing('example.dxf')
# Define some points
points = [(0, 0), (10, 0), (10, 10), (0, 10)]
# Create a polyline by connecting the points
dwg.add(dxf.polyline(points=points, close=True))
# Save the DXF document to a file
dwg.save()
print("DXF file 'example.dxf' created successfully.")
==========================================================
```python
import ezdxf
# DXF 파일 열기
doc = ezdxf.readfile("example.dxf")
# 모든 라인 엔티티 가져오기
msp = doc.modelspace()
for entity in msp.query('LINE'):
start_point = entity.dxf.start
end_point = entity.dxf.end
print(f"Start Point: {start_point}, End Point: {end_point}")
```
=============================================================
2. **pythonnetezdxf 라이브러리**:
pythonnetezdxf는 ezdxf 라이브러리의 확장판으로,
ezdxf와 비슷한 기능을 제공하며 몇 가지 편의 기능을 추가로 제공한다.
사용법은 유사하다.
3. **pyautocad 라이브러리**:
pyautocad는 AutoCAD를 제어하기 위한 라이브러리로,
DXF 파일을 읽을 때 AutoCAD 소프트웨어가 필요하다.
이 라이브러리를 사용하면 AutoCAD를 자동화하고 DXF 파일을 읽을 수 있다.
4. **dxfwrite 라이브러리**;
설치
pip install dxfwrite
===
from dxfwrite import DXFEngine as dxf
# Create a new DXF document
dwg = dxf.drawing('example.dxf')
# Define some points
points = [(0, 0), (10, 0), (10, 10), (0, 10)]
# Create a polyline by connecting the points
dwg.add(dxf.polyline(points=points, close=True))
# Save the DXF document to a file
dwg.save()
print("DXF file 'example.dxf' created successfully.")
=====
'210 Life'에 해당되는 글 638건
- 2023.10.12 파이썬에서 dxf 파일 관련 라이브러리 231011
- 2023.10.12 XML 과 JSON 의 차이점 및 장단점
- 2023.10.12 XML이란?
- 2023.05.25 2023 RBC Brooklyn Half Marathon in New York(230520)
- 2023.03.02 뉴욕마라톤 지원 탈락통보.230301
- 2023.03.01 파이썬에서 txt 파일 열고 쓰기
- 2023.02.27 다시 기네스북 경신. 230226
- 2023.02.26 파이썬 2차배열 내용을 json 파일에 저장, 읽기(230225)
- 2023.02.26 행복하지 않은 것...230225
- 2023.02.21 뉴욕 마라톤 신청, 23/02/20
XML과 JSON은 모두 데이터를 표현하고 교환하기 위한 형식이며,
각각의 특징과 장단점운 아래 와 같다.
**XML (Extensible Markup Language):**
- **장점:**
1. **계층 구조**: XML은 계층 구조를 가짐으로써 복잡한 데이터 구조를 표현하는 데 용이하다.
2. **설명력**: XML 태그는 데이터에 대한 설명을 포함할 수 있으며, 이로 인해 데이터 의미를 이해하기 쉬워진다.
3. **DTD 및 XML 스키마**: DTD 및 XML 스키마를 사용하여 데이터의 유효성을 검사하고 데이터 일관성을 보장할 수 있다.
4. **다양한 문자 인코딩**: XML은 다양한 문자 인코딩 방식을 지원하므로 국제화 및 지역화에 유용하다.
- **단점:**
1. **불필요한 중복**: XML 문서는 종종 반복적인 태그와 불필요한 길이를 가질 수 있어 데이터 크기가 상대적으로 크다.
2. **구문 복잡성**: XML 문서는 파싱 및 생성이 JSON에 비해 복잡하고 느릴 수 있다.
**JSON (JavaScript Object Notation):**
- **장점:**
1. **간결함**: JSON은 간단한 데이터 구조로 데이터를 표현한다. 이로써 데이터 크기가 작아지고 처리가 빠르다.
2. **가독성**: JSON은 데이터를 사람이 읽기 쉬운 형식으로 표현하며, 프로그래머들에게 친숙하다.
3. **빠른 파싱**: JSON 문서는 파싱이 빠르며 대부분의 프로그래밍 언어에서 지원한다.
4. **JavaScript 통합**: JSON은 JavaScript와 연동이 용이하며, 웹 애플리케이션에서 일반적으로 사용된다.
- **단점:**
1. **계층 구조 제한**: JSON은 XML보다 덜 계층적이며 복잡한 데이터 구조를 나타내기 어려울 수 있다.
2. **설명력 부족**: JSON은 태그에 대한 설명을 제공하지 않으며, 데이터 의미를 파악하기 어려울 수 있다.
간단한 데이터 교환 및 웹 서비스 통신에는 JSON이 효율적이며,
복잡한 계층 구조 및 설명력이 필요한 경우에는 XML을 고려할 수 있다.
JSON과 XML을 혼합하여 사용하거나, 데이터 변환 도구를 사용하여 두 형식 간에 데이터를 변환하기도 한다.
'여러이야기 > IT' 카테고리의 다른 글
Jevons paradox (제번스의 역설) (0) | 2025.01.28 |
---|---|
Hadoop 및 Spark (0) | 2023.10.12 |
XML이란? (0) | 2023.10.12 |
파이썬에서 txt 파일 열고 쓰기 (0) | 2023.03.01 |
파이썬 2차배열 내용을 json 파일에 저장, 읽기(230225) (0) | 2023.02.26 |
XML(Extensible Markup Language)은
데이터를 저장하고 전송하기 위한 마크업 언어의 한 형식이며,
사람과 기계가 모두 이해하기 쉽고,
다양한 종류의 데이터를 구조화하고,
교환하기 위한 강력한 도구로 사용된다.
주요 특징과 사용 사례로는,
1. **마크업 언어**:
XML은 다른 데이터를 표현하는 데 사용되는 마크업 언어이다.
태그를 사용하여 데이터 요소를 정의하고 감싸며,
각 요소는 시작 태그(`<태그이름>`)와 종료 태그(`</태그이름>`)로 둘러싸여 있다.
2. **계층 구조**:
XML 데이터는 계층 구조를 가진다다.
각 요소는 다른 요소 내부에 중첩될 수 있으며,
이로 인해 데이터의 계층 구조를 잘 표현할 수 있다.
3. **유연성**:
XML은 사용자가 자신만의 태그와 데이터 구조를 정의할 수 있는 확장 가능한 언어이다.
이는 다양한 도메인과 응용 분야에 맞게 데이터를 정의할 수 있는 장점을 갖고 있다.
4. **플랫폼 독립성**:
XML은 플랫폼 독립적이며,
서로 다른 시스템 및 프로그래밍 언어 간에 데이터 교환을 쉽게 할 수 있도록 해준다.
5. **문서 기반 데이터 저장**:
XML은 주로 구조화된 데이터를 저장하고 전송하기 위해 사용된다.
예를 들어, 구성 파일, 웹 서비스 응답, 설정 데이터, 인터넷에서 데이터 교환 등에 활발하게 사용된다.
6. **웹 서비스와 데이터 교환**:
XML은 웹 서비스의 표준 데이터 형식 중 하나로 사용되며,
데이터를 클라이언트 및 서버 간에 교환할 때 주로 XML을 사용한다.
7. **DTD 및 스키마**:
XML 문서의 구조를 정의하기 위해 Document Type Definition(DTD) 또는 XML 스키마를 사용할 수 있다.
이러한 정의는 XML 문서의 유효성을 검사하고 데이터의 일관성을 보장하는 데 도움이 된다.
8. **Well-Formed vs. Valid XML**:
Well-Formed XML 문서는 XML의 기본 규칙을 준수하는 문서를 말하며,
Valid XML 문서는 DTD 또는 XML 스키마와 같은 정의를 따르는 문서를 말한다.
'여러이야기 > IT' 카테고리의 다른 글
Hadoop 및 Spark (0) | 2023.10.12 |
---|---|
XML 과 JSON 의 차이점 및 장단점 (0) | 2023.10.12 |
파이썬에서 txt 파일 열고 쓰기 (0) | 2023.03.01 |
파이썬 2차배열 내용을 json 파일에 저장, 읽기(230225) (0) | 2023.02.26 |
파이썬 직열화(Serialization), 역직열화(Deserialization)란? (0) | 2023.02.20 |
금요일 월차내고 뉴욕가서,
토요일(230520),
생애 처음으로 2시간 넘게 달렸다.
게다가 비까지 내려,
온 몸이 다 젖었다.
좀 더 열심히 운동해야겠다...




f = open(“test.txt”, ‘w’)
for j in range(0, 11): # 0 부터 시작해서 11개니까 0~10이다
for i in range(0, 6): # 0 부터 시작해서 6개니까 0~5이다
pixelx[j][i] = cX * i + j
data1 = str(pixelx[j][i]) + '\t'
file1.write(data1)
data1 = '\n'
file1.write(data1)
file1.close()
file11 = open("./output/STDx.txt", 'r')
read = file11.read()
print(read)
======
결과
0 1 2 3 4 5
1 2 3 4 5 6
2 3 4 5 6 7
3 4 5 6 7 8
4 5 6 7 8 9
5 6 7 8 9 10
6 7 8 9 10 11
7 8 9 10 11 12
8 9 10 11 12 13
9 10 11 12 13 14
10 11 12 13 14 15
'여러이야기 > IT' 카테고리의 다른 글
XML 과 JSON 의 차이점 및 장단점 (0) | 2023.10.12 |
---|---|
XML이란? (0) | 2023.10.12 |
파이썬 2차배열 내용을 json 파일에 저장, 읽기(230225) (0) | 2023.02.26 |
파이썬 직열화(Serialization), 역직열화(Deserialization)란? (0) | 2023.02.20 |
python cv2.threshold (0) | 2023.02.02 |
오늘 내 삶의 기네스 북을 경신했다.
쉬지 않고 2시간 달리기...
좀 더 다리운동 열심히 해야겠다...

'2023 Diary > 2023 02 Diary' 카테고리의 다른 글
행복하지 않은 것...230225 (0) | 2023.02.26 |
---|---|
뉴욕 마라톤 신청, 23/02/20 (0) | 2023.02.21 |
내 인생의 기네스 북 갱신 230219 (0) | 2023.02.21 |
GuinnessMyLifeRecords, 내 인생의 기네스! 230212 (0) | 2023.02.19 |
import numpy as np
import json
#다음과 같이 2차배열에 각각의 값을 저장한 후에
pixelx = [[0 for col in range(6)] for row in range(11)]
cX = 1
for j in range(0, 11): # 0 부터 시작해서 11개니까 0~10이다
for i in range(0, 6): # 0 부터 시작해서 6개니까 0~5이다
pixelx[j][i] = cX * i + j
with open('./array2.json', "w") as file:
json.dump(pixelx, file)
file.close()
with open('./array2.json', "r") as file:
data = json.load(file)
file.close()
print(pixelx)
print(data)
print("data[0][0] = ", data[0][0])
print("data[0][1] = ", data[0][1])
print("data[3][3] = ", data[3][3])
==================================
실행결과
[[0, 1, 2, 3, 4, 5], [1, 2, 3, 4, 5, 6], [2, 3, 4, 5, 6, 7], [3, 4, 5, 6, 7, 8], [4, 5, 6, 7, 8, 9], [5, 6, 7, 8, 9, 10], [6, 7, 8, 9, 10, 11], [7, 8, 9, 10, 11, 12], [8, 9, 10, 11, 12, 13], [9, 10, 11, 12, 13, 14], [10, 11, 12, 13, 14, 15]]
[[0, 1, 2, 3, 4, 5], [1, 2, 3, 4, 5, 6], [2, 3, 4, 5, 6, 7], [3, 4, 5, 6, 7, 8], [4, 5, 6, 7, 8, 9], [5, 6, 7, 8, 9, 10], [6, 7, 8, 9, 10, 11], [7, 8, 9, 10, 11, 12], [8, 9, 10, 11, 12, 13], [9, 10, 11, 12, 13, 14], [10, 11, 12, 13, 14, 15]]
data[0][0] = 0
data[0][1] = 1
data[3][3] = 6
=================================================
array2.json파일 저장내용
[[0, 1, 2, 3, 4, 5], [1, 2, 3, 4, 5, 6], [2, 3, 4, 5, 6, 7], [3, 4, 5, 6, 7, 8], [4, 5, 6, 7, 8, 9], [5, 6, 7, 8, 9, 10], [6, 7, 8, 9, 10, 11], [7, 8, 9, 10, 11, 12], [8, 9, 10, 11, 12, 13], [9, 10, 11, 12, 13, 14], [10, 11, 12, 13, 14, 15]]
'여러이야기 > IT' 카테고리의 다른 글
XML이란? (0) | 2023.10.12 |
---|---|
파이썬에서 txt 파일 열고 쓰기 (0) | 2023.03.01 |
파이썬 직열화(Serialization), 역직열화(Deserialization)란? (0) | 2023.02.20 |
python cv2.threshold (0) | 2023.02.02 |
파이썬 openCV 색상 공간 변환(Convert Color)Permalink (0) | 2023.02.02 |
어느 조그마한 마을,
그곳의 알콜중독 시골 선배와 마당발같은 마음여린 후배의 대화...
조그마한 사회에서 혈육처럼 살아가며,
그 조그마한 세상을 떠나지 않고 살아가는 사람들...
굳이 넓은 세상을 알지 못해도...
굳이 다양한 삶을 알지 못해도...
길어야 살 수 있는 100년의 시간이 불행한 것은 아닐 것이다.
불행은 그곳에서 생기는 것이 아니고,
욕심이 넘친 사람들의 마음이 그 곳에 다다으면 생기는 것.
'2023 Diary > 2023 02 Diary' 카테고리의 다른 글
다시 기네스북 경신. 230226 (0) | 2023.02.27 |
---|---|
뉴욕 마라톤 신청, 23/02/20 (0) | 2023.02.21 |
내 인생의 기네스 북 갱신 230219 (0) | 2023.02.21 |
GuinnessMyLifeRecords, 내 인생의 기네스! 230212 (0) | 2023.02.19 |
2023년 11월 5일 아침 8시에 하는 뉴욕마라톤을 신청했다.
추첨해서 당첨되면, 참가비가 거의 $300에 육박한다.
한번 보자...
당첨이 되는지...

'2023 Diary > 2023 02 Diary' 카테고리의 다른 글
다시 기네스북 경신. 230226 (0) | 2023.02.27 |
---|---|
행복하지 않은 것...230225 (0) | 2023.02.26 |
내 인생의 기네스 북 갱신 230219 (0) | 2023.02.21 |
GuinnessMyLifeRecords, 내 인생의 기네스! 230212 (0) | 2023.02.19 |