INI 파일은 구성 설정 파일로, 소프트웨어와 애플리케이션의 설정을 저장하는 데 사용됩니다. "ini"는 "initialization"의 약자로, 주로 초기화 설정을 의미합니다. INI 파일은 다음과 같은 특징을 가지고 있습니다:
1. **섹션과 키-값 쌍으로 구성**:
- 섹션: 대괄호 안에 이름을 지정합니다. 예: `[section_name]`
- 키-값 쌍: 섹션 아래에 `key=value` 형식으로 설정을 정의합니다.
2. **사용 예**:
- 시스템 설정
- 애플리케이션 설정
- 사용자 설정
3. **형식 예시**:
```ini
[General]
username=user1
password=pass123
[Settings]
theme=dark
language=en
```
사용 예시
### 주피터 노트북 코드 에서 INI 파일 사용 예시
import configparser
# ConfigParser 객체 생성
config = configparser.ConfigParser()
# INI 파일 읽기
config.read('example.ini')
# 섹션과 키 값을 통해 설정 가져오기
username = config['General']['username']
password = config['General']['password']
theme = config['Settings']['theme']
language = config['Settings']['language']
print(f'Username: {username}')
print(f'Password: {password}')
print(f'Theme: {theme}')
print(f'Language: {language}')
- 동일 디렉토리: config.read('example.ini')
- 하위 디렉토리: config.read('config/example.ini')
- 절대 경로: config.read('/path/to/your/config/example.ini')
### Python에서 INI 파일 사용 예시
Python에서는 `configparser` 모듈을 사용하여 INI 파일을 읽고 설정을 가져올 수 있습니다.
1. **example.ini** 파일 내용:
```ini
[General]
username=user1
password=pass123
[Settings]
theme=dark
language=en
```
2. **Python 코드**:
```python
import configparser
# ConfigParser 객체 생성
config = configparser.ConfigParser()
# INI 파일 읽기
config.read('example.ini')
# 섹션과 키 값을 통해 설정 가져오기
username = config['General']['username']
password = config['General']['password']
theme = config['Settings']['theme']
language = config['Settings']['language']
print(f'Username: {username}')
print(f'Password: {password}')
print(f'Theme: {theme}')
print(f'Language: {language}')
```
### Java에서 INI 파일 사용 예시
Java에서는 Apache Commons Configuration 라이브러리를 사용하여 INI 파일을 읽고 설정을 가져올 수 있습니다.
1. **example.ini** 파일 내용 (동일):
```ini
[General]
username=user1
password=pass123
[Settings]
theme=dark
language=en
```
2. **Java 코드**:
```java
import org.apache.commons.configuration2.Configuration;
import org.apache.commons.configuration2.builder.fluent.Configurations;
import org.apache.commons.configuration2.ex.ConfigurationException;
public class IniFileExample {
public static void main(String[] args) {
Configurations configs = new Configurations();
try {
// INI 파일 읽기
Configuration config = configs.ini("example.ini");
// 섹션과 키 값을 통해 설정 가져오기
String username = config.getString("General.username");
String password = config.getString("General.password");
String theme = config.getString("Settings.theme");
String language = config.getString("Settings.language");
System.out.println("Username: " + username);
System.out.println("Password: " + password);
System.out.println("Theme: " + theme);
System.out.println("Language: " + language);
} catch (ConfigurationException cex) {
// 예외 처리
cex.printStackTrace();
}
}
}
```
### 설정 및 빌드
- **Python**:
- `configparser` 모듈은 Python 표준 라이브러리의 일부이므로 별도의 설치가 필요 없습니다.
- **Java**:
- Apache Commons Configuration 라이브러리를 사용하려면 해당 라이브러리를 Maven 또는 Gradle 프로젝트에 추가해야 합니다.
**Maven**:
```xml
<dependency>
<groupId>org.apache.commons</groupId>
<artifactId>commons-configuration2</artifactId>
<version>2.7</version>
</dependency>
```
**Gradle**:
```gradle
implementation 'org.apache.commons:commons-configuration2:2.7'
```
이렇게 하면 Python과 Java에서 INI 파일을 읽고 설정을 사용하는 예제를 실행할 수 있습니다.