最美情侣中文字幕电影,在线麻豆精品传媒,在线网站高清黄,久久黄色视频

歡迎光臨散文網(wǎng) 會員登陸 & 注冊

如何給自己的python程序添加外部配置文件

2019-12-28 17:35 作者:熱心的裴同學(xué)  | 我要投稿

開始之前

最近寫程序需要每次開始都要輸入一大串?dāng)?shù)據(jù),于是就研究了一下如何使用配置文件給我們的python來使用



現(xiàn)在開始

在windows中最常見的配置文件類型就是*.ini文件了

什么是INI:

INI文件格式是某些平臺或軟件上的配置文件的非正式標(biāo)準(zhǔn),以節(jié)(section)和鍵(key)構(gòu)成,常用于微軟Windows操作系統(tǒng)中。這種配置文件的文件擴展名多為INI,故名。

windows中ini文件的圖標(biāo)


INI文件格式:

節(jié)(section)

節(jié)用方括號括起來,單獨占一行,例如:

[section]

鍵(key)

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

name=value

注釋(comment)

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

; comment text

使用python操作INI文件

python已經(jīng)給我們內(nèi)置了用來操作ini文件的模塊configparser

導(dǎo)入模塊:

import configparser

1, 創(chuàng)建對象

在操作之前首先要創(chuàng)建一個ConfigParser對

cf = configparser.ConfigParser()

這里的cf就是我們創(chuàng)建出來的對象了

2. 讀取一個文件

現(xiàn)在我在代碼文件同級目錄中創(chuàng)建了一個01.ini的文件

其中有一個節(jié)叫做"me",節(jié)中分別有兩個鍵"name"和"uid"和他分別對應(yīng)的值

使用cf.read()方法進(jìn)行讀取

read方法的定義

這個方法需要傳入一個文件的路徑,還可以傳遞他的字符集編碼(可選)

請注意:這里的filename需要是一個絕對路徑

如何找到一個絕對路徑

使用

rootPath = os.path.dirname(__file__)

這個方法即可返回當(dāng)前 所執(zhí)行python文件的目錄

這個路徑是最后不帶斜杠的,所以需要在末尾拼接一個"\"

獲取當(dāng)前工作目錄

沒有報錯,沒有警告,我們確實成功讀取了01.ini這個文件

3.讀取文件中的內(nèi)容

讀取文件內(nèi)容的方法有好幾種,

? ? 1, 讀取所有節(jié)的名稱

????????使用sections()方法可以獲取文件中所有節(jié)的名稱,他會返回一個列表對象

成功獲取節(jié)的名稱列表

????2. 獲取一個節(jié)中所有鍵的值

????????meKeys = cf.options("me")

獲取到所有鍵的值

????3. 獲取一個節(jié)中的所有元素

????meItems = cf.items("me")

他會返回一個嵌套在列表中的很多元組

這些元組就是每一個鍵值對

獲取所有內(nèi)容

????4.獲取對節(jié)中對應(yīng)鍵的值

????????cf,get("節(jié)","鍵")

4. 添加和修改內(nèi)容

????1. 添加節(jié)

????cf.add_section("B")

????當(dāng)你執(zhí)行這個方法后你會驚奇的發(fā)現(xiàn)這個方法并沒有起作用

????不要著急,原因很簡單,我們并沒有保存文件,我們只是保存了對象中的內(nèi)容

????使用cf.write(文件對象)來保存文件


????2. 設(shè)置對應(yīng)鍵的值

????cf.set("B", "a", "123")


????????3. 刪除節(jié)

????????????cf.remove_section("B")

????????????????5. 刪除鍵和值

????????????????????cf.remove_option("me", "uid")

????????????????

????????????????

總結(jié):

使用python對ini文件的操作還是很方便的,同樣也非常感謝configparser這個模塊的開發(fā)人員


但是回頭想想.json文件他不香么

全部的代碼

import configparser
import os

# 創(chuàng)建對象
cf = configparser.ConfigParser()
# 獲取當(dāng)前工作路徑
rootPath = os.path.dirname(__file__)
# 輸出當(dāng)前的工作目錄
print(rootPath)
# 讀取一個文件
cf.read(rootPath + "\\01.ini", "gbk")
# 獲取文件中所有節(jié)的名稱
sections = cf.sections()
print(sections)


# 獲取一個節(jié)中所有的鍵
meKeys = cf.options("me")
print(meKeys)
# 獲取節(jié)中所有內(nèi)容
meItems = cf.items("me")
print(meItems)
# 獲取對應(yīng)節(jié)中對應(yīng)鍵的值
name = cf.get("me", "name")
print(name)
# 添加節(jié)
cf.add_section("B")

# 設(shè)置鍵值
cf.set("B", "a", "123")

# 刪除節(jié)
cf.remove_section("B")

# 刪除鍵
cf.remove_option("me", "uid")

# 保存文件
cf.write(open(rootPath+"\\01.ini", "w"))


如何給自己的python程序添加外部配置文件的評論 (共 條)

分享到微博請遵守國家法律
东源县| 陇川县| 巴里| 岑溪市| 四平市| 中超| 上林县| 沛县| 天气| 哈巴河县| 东阿县| 康马县| 香港| 蒲城县| 阜宁县| 乐东| 博白县| 红原县| 石屏县| 西贡区| 得荣县| 大竹县| 锦屏县| 呈贡县| 普安县| 大埔县| 兴山县| 微山县| 青浦区| 合川市| 襄城县| 孙吴县| 双流县| 寿光市| 余庆县| 罗田县| 阳新县| 新巴尔虎左旗| 陆河县| 诸城市| 建德市|