使用python操作json文字檔案

2022-03-03 03:41:51 字數 2899 閱讀 8450

使用python讀寫文字檔案內容時,我們知道如果文字檔案裡的內容無規律,那麼修改起來比較麻煩。但是如果文字檔案儲存是有規律的,比如json格式,在利用python內建的函式把json格式的資料轉成python字典物件之類,操作起來則非常便捷。

閱讀本文需要對python檔案操作有簡單了解

f = open('hello.txt', mode='r', encoding='utf-8')

data = f.read()

print(type(data))

print(data)

# 輸出如下:

# # hello-world

# 你好世界

演示**文字的編碼均為utf-8

為什麼要互轉呢,我們這裡主要是針對文字檔案的操作。我們讀文字檔案時讀到是字串,相應的把資料寫入文字檔案的時候,也是把字串寫入文字檔案。但是在程式中,字串不好操作,而類似字典這種型別的資料結構容易操作,所以需要字串與字典互轉。

需要用到json模組的倆個函式,json.dumps()json.loads()

import json

data =

f = open('xjson.txt', 'w')

data = json.dumps(data) # 字典轉字串

f.write(data) # 寫入

f.close()

執行上面的程式,xjson.txt裡的內容就會變成

上面**中的副檔名txt不是必須的,換成其它文字副檔名也可以。剛開始不用先建立xjson.txt檔案,檢查到沒有該檔案python會自動建立的。

現在假設我們已經有乙個xjson.txt文字檔案,內容只有一行,現在我們需要把這段文字的最後一項修改成dxing: x2018,**演示如下:

import json

# 修改檔案裡的內容

f = open('xjson.txt', 'r+')

data2 = json.loads(f.read()) # 字串轉字典

data2['dxing'] = 'x2018'

f.seek(0) # 把檔案指標移動到頭部

# print(f.tell())

f.write(json.dumps(data2))

f.close()

可以看到非常簡單的就修改了文字檔案裡的內容。

現在我們可以利用python操作文字檔案,來時實現乙個登入小程式。要求賬號密碼儲存在檔案中,並且密碼輸入錯誤三次以後鎖定該使用者,下次使用該使用者名稱登入時,仍然處於鎖定狀態。

測試資料可以使用以下**生成。

import json

data = ,

'xsheng': ,

'csheng': ,

'vsheng':

}f = open('account.json', mode='w', encoding='utf-8')

data2 = json.dumps(data)

f.write(data2)

f.close()

生成的測試資料如下。

, "xsheng": , "csheng": , "vsheng": }

參考實現如下

import json

f = open('account.json', mode='r+', encoding='utf-8')

data = json.loads(f.read())

count = 0

while 1:

username = input('please input you username: ')

if username == 'q':

exit()

if username not in data:

print('wrong username!')

continue

if username in data:

if data[username]['lock'] == 1:

print('your account is locked! refuse to login!')

exit()

while 1:

count += 1

if count > 3:

data[username]['lock'] = 1

# print(data)

f.seek(0)

f.write(json.dumps(data))

print('your account is locked!')

exit()

print('this is your %d time try!' % count)

password = input('please input your password: ')

if data[username]['pwd'] == password:

print('welcome to login %s' % username)

exit()

elif password == 'q':

exit()

else:

print('wrong password, retry!')

continue

f.close()

python檔案操作及異常處理,json檔案操作

一 python檔案的簡單操作 1 任何時候使用檔案必須先開啟檔案,一般是用with open進行操作,單單使用open可能某些時候忘了關閉檔案。2 檔案路徑需要明確,當使用多個資料夾進行模組化呼叫的時候,還需要拼接路徑,找到父路徑。3 全部載入與逐行讀取 4 檔案寫入 檔案操作 檔案開啟和讀取方法...

python操作json資料

import json 一 讀取json資料 1.1 方法一 使用loads 方法讀取已有資料 data message json.loads data print message 1.2 方法二 使用load 方法讀取檔案資料 檔案儲存時必須位於同一行,不然直接load會報錯 with open ...

python儲存json資料,存入txt檔案

最近用python寫資料分析,然後想著我如果每次跑程式都需要一次api請求有點不太好,畢竟很多 都有限制。然後我就想著把請求的json資料,儲存到本地,沒有實時資料的需求時就使用原始資料,如果有的話就跑一下程式。下面是我的乙個示例,使用的是json的dumps方法,將dic轉化為字串格式 impor...