python txt檔案讀取資料型別str轉換為list型別

2020-09-20 11:00:44

我們在想要寫自己的小程式時,比如打卡小程式(超連結點選跳轉),我們需要儲存一些簡單的資料,這時候如果我們去研究資料庫,如SQL,MySQL就顯得畫蛇添足了,最實用的策略就是我們直接將執行後得到的資料結果儲存在txt檔案中,下次呼叫程式的時候直接讀取txt檔案中的資料進行操作即可。但是在這個過程中我們會遇到一個嚴重的問題,就是我們寫入txt檔案的資料通常是以str字元的形式寫入的,並且讀取的時候也是以字元的形式讀取的,也就是說如果我們將一個列表資料以字元的形式寫入txt檔案後,下次從txt檔案讀取出來的資料型別變為了str型別,從而無法進行我們需要的運算操作,這時就會十分棘手,對此,我們這裡介紹一種能夠將從txt檔案中讀取到的str型別資料轉換為list資料型別的方法。
程式碼如下:

class Debug:
    def mainProgram(self):
        list1 = [[2, 0], [4, 0]]
        print(type(list1))  # <class 'list'>
        print(list1)        # [[2, 0], [4, 0]]
        list1 = str(list1)
        print(type(list1))  # <class 'str'>
        print(list1)        # [[2, 0], [4, 0]]


if __name__ == "__main__":
    main = Debug()
    main.mainProgram()

我們先建立一個list物件並對這個list物件進行str資料型別轉換模擬出從txt檔案中讀取到的資料。從上面的程式碼輸出結果我們可以看到,list型別資料已經成功被轉換為了str型別的資料。接下來我們使用ast模組實現str資料型別到list資料型別的轉換。程式碼如下:

import ast


class Debug:
    def mainProgram(self):
        list1 = [[2, 0], [4, 0]]

        list1 = str(list1)
        
        list1 = ast.literal_eval(list1)
        print(list1)        # [[2, 0], [4, 0]]
        print(type(list1))  # <class 'list'>


if __name__ == "__main__":
    main = Debug()
    main.mainProgram()

我們可以看到獲取到的資料型別已經從str變為了可以進行運算操作的list型別。
如果大家覺得有用,請高擡貴手給一個贊讓我上推薦讓更多的人看到吧~