INI

INI

INI是英文“初始化(Initial)”的縮寫,微軟Windows作業系統中的檔案擴展名(也常用在其他系統),正如該術語所表示的,INI檔案被用來對作業系統或特定程式初始化或進行參數設定。不過,在Windows 95、98、NT及之後的版本中,大部分的設定是通過對註冊表的修改實現的,而不是通過使用INI檔案。

檔案分類

在Windows作業系統中存在兩個INI檔案:SYSTEM.INI和WIN.INI。在純文本處理器或DOS編輯器中打開INI檔案就有可能知道這些檔案大概要做些什麼。這些檔案中包括對滑鼠,鍵盤,外圍設備,顯示器顏色,密碼等的變數參數的設定聲明。在正常情況下,這些檔案在文本編輯器中不能被改動。(如文本編輯器在關閉之前顯示“保存修改”,這時應點“否”。)在Windows 95, 98, NT及之後的版本中,大部分的設定是通過對註冊表的修改實現的,而不是通過使用INI檔案。某些程式包含自身的INI檔案。這些檔案的內容的修改通常是通過該程式的用戶界面來更改程式的特徵,並不是通過編輯檔案本身來進行的。

檔案格式

節(section)

節用方括弧括起來,單獨占一行,例如:

[section]

鍵(key)

鍵(key)又名屬性(property),單獨占一行用等號連線鍵名和鍵值,例如:

name=value

注釋(comment)

注釋使用英文分號(;)開頭,單獨占一行。在分號後面的文字,直到該行結尾都全部為注釋,例如:

; comment text

基本格式

[section]

參數

name=value

註解

註解使用分號表示(;)。在分號後面的文字,直到該行結尾都全部為註解。

; comment text

主要作用

.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檔案是純文本格式,所以可以用任何純文本編輯器來進行編輯其內容。

WindowsAPI函式讀寫

讀取

1

2

3

4

5

6

7

8

DWORDWINAPIGetPrivateProfileString(

_In_LPCTSTRlpAppName,

_In_LPCTSTRlpKeyName,

_In_LPCTSTRlpDefault,

_Out_LPTSTRlpReturnedString,

_In_DWORDnSize,

_In_LPCTSTRlpFileName

);

參數說明:

lpAppName (輸入參數)節名

lpKeyName (輸入參數)鍵名

lpDefault (輸入參數)默認值。INI讀取失敗時,得到這個值

lpReturnedString (輸出參數)讀取到的鍵值

nSize (輸入參數)lpReturnedString的緩衝區大小

lpFileName (輸入參數)INI檔案的檔案路徑

返回值:

讀取到的字元數,不包括末尾的'\0'字元或L'\0'字元。

寫入

1

2

3

4

5

6

BOOLWINAPIWritePrivateProfileString(

_In_LPCTSTRlpAppName,

_In_LPCTSTRlpKeyName,

_In_LPCTSTRlpString,

_In_LPCTSTRlpFileName

);

參數說明:

lpAppName (輸入參數)節名

lpKeyName (輸入參數)鍵名

lpString (輸入參數)需要寫入的鍵值

lpFileName (輸入參數)INI檔案的檔案路徑

返回值:

寫入成功返回非零值,寫入失敗返回零值,可以用GetLastError函式得到錯誤原因。

Python的ConfigParser類

1

2

3

4

5

6

7

8

9

10

11

12

#!/usr/bin/envpython

#-*-coding:UTF-8-*-

importConfigParser

iniparser=ConfigParser.ConfigParser()#初始化一個INI讀寫類的對象

iniparser.read('filename.ini')#讀取INI檔案

key_value=iniparser.get('section_name_1','key_name')#解析INI檔案

printkey_value

#生成INI檔案

iniparser.add_section('section_name_2')

iniparser.set('section_name_2','key_name','key_value')

withopen('filename.ini','w')asinifile:

iniparser.write(inifile)

相關搜尋

熱門詞條

聯絡我們