python之字典存入txt文件之後增刪改查操作

實驗目的:

通過該實驗,使學生掌握函數、類、文件存儲的使用方式,能夠熟練運用列表、字典、文件來進行數據存儲處理,並掌握格式化輸出的相關方法。

實驗要求:

1、建立初始化的英文單詞字典內容,每個單詞要有對應的中文解釋。如:make: 使得;佈置;準備;整理;製造(等)。

2、實現字典的增加(可以通過程序實現單詞及中文解釋添加)、刪除(通過程序實現單詞的刪除)、查找(通過程序實現單詞的查找,要有單詞聯想功能,比如用戶只輸入了“simpl”,要能夠返回“simple”及“simply”兩個單詞的內容(如果字典裏有的話))、修改(通過程序實現單詞內容和解釋的修改)四個功能。

3、可以使用json、txt、數據庫或其他文件格式來進行存取字典內容。

4、單詞及單詞解釋顯示要規範。

實驗思路

1.txt文件存儲字典,輸出該txt文件存儲的字典內容

2.對txt文件進行增刪改查

3.字典的增加單詞功能:用戶輸入想要添加的單詞以及其解釋,然後添加到txt文件中。

4.字典的刪除單詞功能:用戶輸入想要刪除的單詞word,然後遍歷txt文件的每行,對每行進行‘:’分解(v = line.strip().split(':')),如果v[0]==word,該行不寫入txt文件中,其他按原樣行寫入該txt文件中。

5.字典的修改單詞功能:用戶輸入想要修改的單詞word1,以及修改後的word2,value2。然後遍歷txt文件的每行,對每行進行‘:’分解(v = line.strip().split(':')),如果v[0]==word1,fw.write(word2 + ':' + value2 + '\n')寫入txt文件中,其他行按原樣寫入該txt文件中。

6.字典的查找聯想單詞功能:用戶輸入想要查找的單詞word,然後遍歷txt文件的每行,對每行進行‘:’分解(v = line.strip().split(':')),如果word in v[0],輸出v[0]+":"+v[1]。

實驗代碼

#輸出該txt文件的內容
def read_dict():
    fr = open('dic.txt', 'r')
    dic = {}
    keys = []  # 用來存儲讀取的順序
    for line in fr:
        v = line.strip().split(':')
        dic[v[0]] = v[1]
        keys.append(v[0])
    fr.close()
    print("該txt文件的字典內容爲:")
    for i in dic:
        print(i+":"+dic[i])
    print("")

#在字典中增加單詞word以及其解釋value
def add(word,value):
    fw = open('dic.txt', 'a')
    fw.write(word + ':' + value + '\n')
    fw.close()
    read_dict()

#在字典中刪除單詞word
def delete(word):
    with open('dic.txt', 'r') as fr:
        lines=fr.readlines()
    with open('dic.txt', 'w') as fw:
        for line in lines:
            v = line.strip().split(':')
            if word == v[0]:
                continue
            fw.write(line)
    fr.close()
    fw.close()
    read_dict()

#實現對單詞word1的單詞內容修改爲word2以及其解釋修改爲value2
def alter(word1,word2,value2):
    with open('dic.txt', 'r') as fr:
        lines=fr.readlines()
    with open('dic.txt', 'w') as fw:
        for line in lines:
            v = line.strip().split(':')
            if word1 == v[0]:
                fw.write(word2 + ':' + value2 + '\n')
            else:
                fw.write(line)
    fr.close()
    fw.close()
    read_dict()

#查找聯想單詞word的解釋
def search(word):
    fr = open('dic.txt', 'r')
    for line in fr:
        v = line.strip().split(':')
        if word in v[0]:
            print(v[0]+":"+v[1])
    fr.close()

def main():
    read_dict()
    print("對該字典進行增加操作,請輸入您想增加的單詞以及其解釋")
    wrd=input()
    val=input()
    add(wrd,val)
    print("對該字典進行刪除操作,請輸入您想刪除的單詞")
    wrd = input()
    delete(wrd)
    print("對該字典進行修改操作,請輸入您想修改的單詞,以及修改後的單詞內容以及其解釋")
    wrd1 = input()
    wrd2= input()
    val2= input()
    alter(wrd1,wrd2,val2)
    print("對該字典進行查找操作,請輸入您想查找的單詞")
    wrd=input()
    search(wrd)

main()

實驗結果

最初始txt文件存儲的字典內容:

(1)進行增加單詞操作

(2)進行刪除單詞操作

(3)進行修改單詞操作

(4)進行查找單詞操作

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章