複製鏈接
請複製以下鏈接發送給好友

INI

(文件擴展名)

鎖定
INI文件格式是某些平台或軟件上的配置文件的非正式標準,以節(section)和鍵(key)構成,常用於微軟Windows操作系統中。這種配置文件的文件擴展名多為INI,故名。
INI是英文“初始化”(initialization)的縮寫。正如該術語所表示的,INI文件被用來對操作系統或特定程序初始化或進行參數設置。
外文名
INI
學    科
信息技術
類    別
配置文件
分    類
SYSTEM.INI和WIN.INI

INI分類

Windows操作系統中存在兩個INI文件:SYSTEM.INIWIN.INI。在純文本處理器DOS編輯器中打開INI文件就有可能知道這些文件大概要做些什麼。這些文件中包括對鼠標、鍵盤、外圍設備、顯示器顏色、密碼等的變量參數的設置聲明。在Windows 95/98/NT及之後的版本中,大部分的設置是通過對註冊表的修改實現的,而不是通過使用INI文件。某些程序包含自身的INI文件。這些文件的內容的修改通常是通過該程序的用户界面來更改程序的特徵,並不是通過編輯文件本身來進行的。

INI文件格式

節(section)
節用方括號括起來,單獨佔一行,例如:
[section]
鍵(key)
鍵(key)又名屬性(property),單獨佔一行用等號連接鍵名鍵值,例如:
name=value
註釋(comment)
註釋使用英文分號(;)開頭,單獨佔一行。在分號後面的文字,直到該行結尾都全部為註釋,例如:
; comment text
[1] 

INI作用

.ini , .inc之類的文件,一般是放一些常量或數據庫鏈接語句等,再在需要的頁面包含進去,和直接命為 asp 是沒什麼區別的。
但為了安全性,最好不要用這些後綴名,因為知道文件名時,在瀏覽器裏輸入該文件的地址時,可看到所有內容的。
在Windows系統中,INI文件是很多,最重要的就是“System.ini”、“System32.ini”和“Win.ini”。該文件主要存放用户所做的選擇以及系統的各種參數。用户可以通過修改INI文件,來改變應用程序和系統的很多配置。但自從Windows 95的推出,在Windows系統中引入了註冊表的概念,INI文件在Windows系統的地位就開始不斷下滑,這是因為註冊表的獨特優點,使應用程序和系統都把許多參數和初始化信息放進了註冊表中。但在某些場合,INI文件還擁有其不可替代的地位。
.ini 文件是windows的系統配置文件,統管windows的各項配置,一般用户就用windows提供的各項圖形化管理界面就可實現相同的配置了,但在某些情況,還是要直接編輯.ini才方便,一般只有很熟悉windows才能去直接編輯。開始時用於WIN3.1下面,WIN95用註冊表代替,[]及後面的內容表示一個節,相當於註冊表中的鍵。
除了windows很多windows下面的應用軟件也有.ini文件,用來配置應用軟件以實現不同用户的要求。一般不用直接編輯這些.ini文件,應用程序的圖形界面即可操作以實現相同的功能。

INI文件讀寫

文本編輯
由於INI文件是純文本格式,所以可以用任何純文本編輯器來進行編輯其內容。
Windows API 函數讀寫
讀取
DWORD WINAPI GetPrivateProfileString(
  _In_  LPCTSTR lpAppName,
  _In_  LPCTSTR lpKeyName,
  _In_  LPCTSTR lpDefault,
  _Out_ LPTSTR  lpReturnedString,
  _In_  DWORD   nSize,
  _In_  LPCTSTR lpFileName
);
參數説明:
lpAppName (輸入參數)節名
lpKeyName (輸入參數)鍵名
lpDefault (輸入參數)默認值。INI讀取失敗時,得到這個值
lpReturnedString (輸出參數)讀取到的鍵值
nSize (輸入參數)lpReturnedString的緩衝區大小
lpFileName (輸入參數)INI文件的文件路徑
讀取到的字符數,不包括末尾的'\0'字符或L'\0'字符。 [2] 
寫入
BOOL WINAPI WritePrivateProfileString(
  _In_ LPCTSTR lpAppName,
  _In_ LPCTSTR lpKeyName,
  _In_ LPCTSTR lpString,
  _In_ LPCTSTR lpFileName
);
參數説明:
lpAppName (輸入參數)節名
lpKeyName (輸入參數)鍵名
lpString (輸入參數)需要寫入的鍵值
lpFileName (輸入參數)INI文件的文件路徑
返回值:
寫入成功返回非零值,寫入失敗返回零值,可以用GetLastError函數得到錯誤原因。 [3] 
Python的ConfigParser類
#!/usr/bin/env python
# -*- coding: UTF-8 -*-

import ConfigParser

iniparser = ConfigParser.ConfigParser()        # 初始化一個INI讀寫類的對象
 
iniparser.read('filename.ini')                           # 讀取INI文件
key_value = iniparser.get('section_name_1', 'key_name')  # 解析INI文件
print key_value
 
# 生成INI文件
iniparser.add_section('section_name_2')
iniparser.set('section_name_2', 'key_name', 'key_value')
with open('filename.ini', 'w') as inifile:
    iniparser.write(inifile)                             # 寫入INI文件
[4] 
參考資料