第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號(hào)安全,請(qǐng)及時(shí)綁定郵箱和手機(jī)立即綁定
已解決430363個(gè)問(wèn)題,去搜搜看,總會(huì)有你想問(wèn)的

Python 不會(huì)像字典格式那樣從文本文件中讀取提取的行

Python 不會(huì)像字典格式那樣從文本文件中讀取提取的行

楊__羊羊 2022-01-11 19:35:37
我有一個(gè)具有不同輸入的文本輸入文件,如下所示,分別以字典和列表格式存儲(chǔ)。部分文本文件如下:#Drive-Size-Mapping{'root' : 50 , '\usr' : 20, 'swap' : 1}#OS-Version[7.1, 7.2, 7.3, 7.4, 7.5, 7.6]如您所見(jiàn),第一行是字典格式,第二行是列表格式?,F(xiàn)在,當(dāng)我在變量中讀取和存儲(chǔ)行時(shí),Python 無(wú)法識(shí)別格式。這是我正在嘗試的代碼: f=open("C:\\Users\xyz\\Desktop\\Inputs.txt")lines=f.readlines()i = lines.index("#Drive-Size-Mapping\n")di=dict()di = lines[i+1]print(di[0])j = lines.index("#OS-Version\n")list = lines[j+1]print(list[0])上面的代碼是:{ {即它只打印數(shù)組的第一個(gè)數(shù)組索引中存在的項(xiàng)目。我希望 python 將這些變量分別解釋為字典和列表。所以,如果我這樣做print di["root"]我的代碼應(yīng)該將其識(shí)別為字典并打印為50. 并且 print(list[0])應(yīng)該將其識(shí)別為列表和輸出7.1.請(qǐng)讓我知道應(yīng)該如何操作文件行以使 python 以它們實(shí)際存在的格式解釋它們?
查看完整描述

3 回答

?
楊魅力

TA貢獻(xiàn)1811條經(jīng)驗(yàn) 獲得超6個(gè)贊

只需添加上述答案:

利用:

 ast.literal_eval()

但是從字典的鍵中刪除/替換“\”,因?yàn)樗梢栽?literal_eval() 函數(shù)中創(chuàng)建 unicode 錯(cuò)誤

代碼中的另一個(gè)錯(cuò)誤,在轉(zhuǎn)換為字典后,你不能做 d[0] 因?yàn)樽值錄](méi)有索引


查看完整回答
反對(duì) 回復(fù) 2022-01-11
?
慕萊塢森

TA貢獻(xiàn)1810條經(jīng)驗(yàn) 獲得超4個(gè)贊

您從文件中獲得的行是string. 如果要將它們轉(zhuǎn)換為dict或list對(duì)象,可以使用literal_eval:


from ast import literal_eval


...

d = literal_eval(lines[i+1])

...

l = literal_eval(lines[i+1])

如果您可以更改輸入文件的格式,我會(huì)考慮將其修改為json文件,以便使用json 模塊方便地存儲(chǔ)和加載您的對(duì)象。


查看完整回答
反對(duì) 回復(fù) 2022-01-11
?
catspeake

TA貢獻(xiàn)1111條經(jīng)驗(yàn) 獲得超0個(gè)贊

該函數(shù)readlines執(zhí)行它所說(shuō)的:它讀取 lines。你我都可以認(rèn)識(shí)到這兩行是 Python 字典和 Python 列表,但 Python 不能也不應(yīng)該。

在我看來(lái),您正在從一個(gè)包含 Python 源代碼的文件中讀取配置設(shè)置。一種更標(biāo)準(zhǔn)的方法是使用.ini文件。看看模塊configparser。


查看完整回答
反對(duì) 回復(fù) 2022-01-11
  • 3 回答
  • 0 關(guān)注
  • 223 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

購(gòu)課補(bǔ)貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動(dòng)學(xué)習(xí)伙伴

公眾號(hào)

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號(hào)