私は実際に保存する新しいdictエントリを実行するときに確認する方法を理解しようとしています。最後の例外の前に、 "print(dictio.fullDict3 [firstLetter])"を実行すると、新しいdictエントリが追加されますが、実際にはdictioという外部ファイルには保存されません。Pythonで外部ファイルの保存を追加しないでください
次はメインです:
import fileinput
import dictio
from dictio import fullDict3
while True:
try:
srcTxt = input("Input word you want to look up: ")
firstLetter = srcTxt[0]
print(dictio.fullDict3[firstLetter][srcTxt])
except:
try:
queryInput = input('What does '+srcTxt+' mean?: ')
with open("C:\\Users...\\dictio.py", "a"):
dictio.fullDict3[firstLetter].update({srcTxt:queryInput})
print(dictio.fullDict3[firstLetter])
except:
print("error has occured.")
次は辞書を保持しているdictio.pyと呼ばれる外部ファイルです:
fullDict3 = {
'0':{
'0data':'0datttaaa',
'0mada':'0mmmaadaa'
},
'a':{
'arbre':'tree',
'arc-en-ciel':'rainbow'
},
'b':{
'bierre':'beer',
'belle':'beautiful'
}
}
あなたのコードでは、あなたがファイルに書き込んでいると思いますか? – larsks
私はappendのために "a"と考えていましたが、その更新はfullDict3というファイルのdictを更新します。私は、私がその操作の後にdictを印刷したときに、そのdictの最後に追加されているので、私がこれをした印象の下にあったと思います。 –
変数の値を変更してもファイルIOは実行されません。あなたは効果的に 'open'文の結果を破棄します(pythonがオープンし、名前付きファイルを作成することもありますが、' open'の戻り値を変数に代入することは決してありません。 )。 – larsks