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

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

在 Python 中寫入和讀取 .txt 的最佳方式

在 Python 中寫入和讀取 .txt 的最佳方式

慕俠2389804 2022-12-20 14:06:57
我需要?jiǎng)?chuàng)建一個(gè)文件來保存一些變量;我有這個(gè)# variables A = 2B = 34C = "foo"file = open("filename.txt", "w")file.write(A, "/", B, "/", C)file.close()但是,我不確定這是最好的方式,或者至少是最好的“Pythonic”方式來寫入文件。我不知道是否/最好先脫離然后再閱讀它,或者最好先閱讀它,例如file.write(f"A={A}/nB={B}/nC={C}")這是主要問題:我不知道如何在編寫后讀取多個(gè)變量及其最佳方法。在閱讀文件中,我想要這樣的東西:file = open("filename.txt", "r")# reading variables# variables initialized: A=2, B=34, C="foo"因此,總而言之,我希望能提供一些幫助以找出:1) 寫入文件的最佳格式 2) 如何讀取該文件中的多個(gè)變量并初始化它們 PD:它不一定是 a.txt但它是默認(rèn)值我建議使用的格式。
查看完整描述

2 回答

?
九州編程

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

要回答您的第一個(gè)問題,我認(rèn)為最好使用的格式是一種廣泛使用的標(biāo)準(zhǔn),如 JSON、XML 或 CSV,用于將數(shù)據(jù)存儲(chǔ)到文件中。


首先,這將意味著您自己實(shí)現(xiàn)的邏輯更少——所有序列化和反序列化都可以通過 python 中廣泛可用的標(biāo)準(zhǔn)庫來完成。其次,大多數(shù)編程語言中都存在用于解析這些文件的庫,因此如果您發(fā)現(xiàn)自己必須將這些數(shù)據(jù)提取到另一個(gè)應(yīng)用程序中,您將永遠(yuǎn)不會(huì)發(fā)現(xiàn)自己必須重新實(shí)現(xiàn)該邏輯。最后,由于這些庫的使用如此廣泛,它們經(jīng)過了大量優(yōu)化,因此不太可能給您帶來任何性能問題。


我自己會(huì)推薦 JSON,因?yàn)?python 庫使它的使用變得如此簡單。以下是在 python 中從文件寫入和讀取 JSON 的示例:


import json


A = 2

B = 34

C = "foo"


# Write to file

obj = {

    'A': A

    'B': B

    'C': C

}

with open("filename.txt", "w") as f:

    json.dump(obj, f)


# Read from file

with open("filename.txt", "r") as f:

    obj2 = json.load(f)


A = obj2['A']

B = obj2['B']

C = obj2['C']


查看完整回答
反對 回復(fù) 2022-12-20
?
米脂

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

你是對的。這確實(shí)是糟糕的設(shè)計(jì)(因?yàn)樗c操作系統(tǒng)無關(guān))。


import os


dir = os.path.join('foo', 'bar') 

print(dir)  # prints the proper dir format in Windows, OSX, Linux

此外,您編寫文件的方式很好,但它不會(huì)關(guān)閉文件以防在f.close(). 因此,您應(yīng)該使用以下內(nèi)容:


with open(dir, 'r') as f:

    data = f.read()

with 語句是一個(gè)塊執(zhí)行上下文管理器,無論在其范圍內(nèi)發(fā)生什么,它都會(huì)關(guān)閉文件。有時(shí),使用 simplef.open是必要的,但這通常包含在 try/except 中。


查看完整回答
反對 回復(fù) 2022-12-20
  • 2 回答
  • 0 關(guān)注
  • 123 瀏覽
慕課專欄
更多

添加回答

舉報(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)