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

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

如何將字典逐行格式寫入文本文件,替換原始文本

如何將字典逐行格式寫入文本文件,替換原始文本

千萬里不及你 2023-06-27 16:44:26
我是編程新手。我目前有如下字典,我想將其寫入文本文件(以行分隔)以替換文本文件中的原始內(nèi)容。我更改了一些值并添加了新鍵,并且想知道如何去做。下面是我想用其替換原始文本文件的字典:cars={'Honda\n':['10/11/2020\n','red\n','firm and sturdy\n''breaks down occasionally\n'],'Toyota\n':['20/12/2005\n','indigo\n''big and spacious\n', 'fuel saving\n'],'Maserati\n':['10/10/2009\n','silver\n','fast and furious\n','expensive to maintain\n'],'Hyundai\n':['20/10/2000\n','gold\n','solid and reliable\n','slow acceleration\n'] 原始文件:Honda10/11/2010bluestrong and sturdybreaks down occasionallyToyota20/15/2005indigobig and spaciousMaserati10/10/2009silverfast and furiousexpensive to maintainaccident prone所需文件:Honda10/11/2020redfirm and sturdybreaks down occasionallyToyota20/12/2005indigobig and spaciousfuel-savingMaserati10/10/2009silverfast and furiousexpensive to maintainHyundai20/10/2000goldsolid and reliableslow acceleration這是我所做的:with open('cars.txt', 'w') as f:f.write(str(cars))f.close()但它只打印字典而不是所需的文件。我可以知道該怎么做嗎?
查看完整描述

5 回答

?
Qyouu

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

您不能只轉(zhuǎn)儲(chǔ)字典,因?yàn)榫驮搘rite方法而言,您正在嘗試轉(zhuǎn)儲(chǔ)內(nèi)存位置。


您需要像這樣檢查每個(gè)字典鍵和項(xiàng)目。您也不需要關(guān)閉文件,因?yàn)楫?dāng)您離開循環(huán)時(shí),with open它會(huì)自行關(guān)閉。


with open('cars.txt', 'w') as f:

    for car, vals in cars.items:

        f.write(car)

        for val in values:

            f.write(val)


注意: 我還沒有測(cè)試過這些。


查看完整回答
反對(duì) 回復(fù) 2023-06-27
?
喵喔喔

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

首先使用分隔符分割原始文件數(shù)據(jù)'\n\n'。然后使用字典訪問新數(shù)據(jù)。然后將結(jié)果寫入新文件。


with open('cars.txt') as fp, open('new_cars.txt', 'w') as fw:

    for car in fp.read().split('\n\n'):

        car_name = car.split('\n', 1)[0] + '\n'

        fw.write(car_name + ''.join(cars[car_name]) + '\n')


查看完整回答
反對(duì) 回復(fù) 2023-06-27
?
慕尼黑8549860

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

根據(jù)您的調(diào)試錯(cuò)誤,您應(yīng)該只將dict轉(zhuǎn)換為str像這樣


with open('cars.txt', 'w') as f:      

f.write(str(cars)) 

f.close()


查看完整回答
反對(duì) 回復(fù) 2023-06-27
?
幕布斯6054654

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

在你的 write 語句中,你可以簡(jiǎn)單地這樣做:

f.write('\n'.join(car + ''.join(cars[car]) for car in cars))


查看完整回答
反對(duì) 回復(fù) 2023-06-27
?
藍(lán)山帝景

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

這里有多個(gè)問題:

  • 該錯(cuò)誤的意思就是它所說的——你不能將 a 寫入dict文件。

    • 要解決這個(gè)問題,只需將 轉(zhuǎn)換dict為 a str,如下所示:dict_as_str = str(dict),然后f.write(dict_as_str)

  • 一旦你解決了這個(gè)問題,看看你擁有什么:你可能不會(huì)看到你想要的。這是因?yàn)橐?code>f.write相同的方式轉(zhuǎn)換它print,所以如果你運(yùn)行print(dict_as_str),它基本上看起來像一個(gè)字典。

    • 要解決這個(gè)問題,您必須執(zhí)行不止一行代碼。我不會(huì)給你代碼,你需要自己嘗試弄清楚。如果您嘗試但無法使其正常工作,那么您可以發(fā)布另一個(gè)問題。


查看完整回答
反對(duì) 回復(fù) 2023-06-27
  • 5 回答
  • 0 關(guān)注
  • 234 瀏覽
慕課專欄
更多

添加回答

舉報(bào)

0/150
提交
取消
微信客服

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

幫助反饋 APP下載

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

公眾號(hào)

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