溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊(cè)×
其他方式登錄
點(diǎn)擊 登錄注冊(cè) 即表示同意《億速云用戶服務(wù)條款》

python3實(shí)現(xiàn)將數(shù)據(jù)存入文件保存的示例分析

發(fā)布時(shí)間:2021-08-25 14:45:05 來源:億速云 閱讀:252 作者:小新 欄目:開發(fā)技術(shù)

小編給大家分享一下python3實(shí)現(xiàn)將數(shù)據(jù)存入文件保存的示例分析,相信大部分人都還不怎么了解,因此分享這篇文章給大家參考一下,希望大家閱讀完這篇文章后大有收獲,下面讓我們一起去了解一下吧!

python學(xué)生名片管理vv2.0是在1.0的基礎(chǔ)上增加部分功能,實(shí)現(xiàn)將數(shù)據(jù)存入文件保存,以便于程序停止后還能再次取到數(shù)據(jù)。具體實(shí)現(xiàn)請(qǐng)看如下部分:

card_main.py

import sys
from One.card_func2 import *

def head():
 print('*' * 30)
 print('學(xué)生信息管理系統(tǒng)v2.0')
 print('1.添加學(xué)生\t2.顯示所有\(zhòng)t3.查詢學(xué)生\t0.退出系統(tǒng)')
 print('*' * 30)


def main():
 while True:
 head()
 num = input('輸入操作:')
 if num == '1':
  print('選擇功能添加學(xué)生')
  add_card()
 elif num == '2':
  print('選擇功能添顯示所有')
  show_all()
 elif num == '3':
  print('選擇功能查詢學(xué)生')
  search_card()
 elif num == '0':
  sys.exit()
 else:
  print('輸入有誤,命令無效')


if __name__ == '__main__':
 main()

card_func2.py

import json
import time

stutent_list = []

def add_card():
 name = input('請(qǐng)輸入姓名:')
 age = input('請(qǐng)輸入年齡:')
 qq = input('請(qǐng)輸入QQ:')
 mail = input('請(qǐng)輸入郵箱:')
 dict = {}
 dict['name'] = name
 dict['age'] = age
 dict['qq'] = qq
 dict['mail'] = mail
 stutent_list.append(dict)
 memory(stutent_list)

def memory(stutent_list): # 將數(shù)據(jù)存入文件
 with open('student.json', 'w') as f:
 for i in stutent_list:
  json_i = json.dumps(i)
  f.write(json_i+'\n')
 f.close()


def repick(): # 從文件中去除數(shù)據(jù)
 risk_result = []
 with open('student.json', 'r') as f:
 risk_new_list = f.read().split('\n')[:-1]
 for x in risk_new_list:
  json_x = json.loads(x)
  risk_result.append(json_x)
 f.close()
 return risk_result


def show_all():
 global stutent_list
 stutent_list = repick()
 table_head()
 for dict in stutent_list:
 print('-' * 32)
 print('| %s\t|\t%s\t|\t%s\t|\t%s\t|' % (dict['name'], dict['age'], dict['qq'], dict['mail']))



def search_card():
 global stutent_list
 name = input('請(qǐng)輸入查找學(xué)生的姓名:')
 for dict in stutent_list:
 if dict['name'] == name:
  table_head()
  print('-' * 32)
  print('| %s\t|\t%s\t|\t%s\t|\t%s\t|' % (dict['name'], dict['age'], dict['qq'], dict['mail']))
  print('您可以執(zhí)行操作:1.刪除\t2.修改\t3.返回上一級(jí)')
  deal_card(dict)
  break
 else:
 print('查無此人!!!')


def table_head():
 print('_' * 32)
 print('| 姓名\t|\t年齡\t|\tQQ\t|\t郵箱\t|')


def deal_card(dict):
 order = input('請(qǐng)輸入命令:')
 while True:
 if order == '1':
  delete_card(dict)
  break
 elif order == '2':
  modify_card(dict)
  break
 elif order == '3':
  break
 else:
  print('輸入有誤,命令無效')

def delete_card(dict):
 print('執(zhí)行命令,刪除數(shù)據(jù)')
 stutent_list.remove(dict)
 print('...正在刪除,請(qǐng)等待...')
 turnTime()
 print('刪除成功,返回主界面')


def modify_card(dict):
 print('執(zhí)行命令,修改數(shù)據(jù)')
 dict['name'] = input('請(qǐng)輸入姓名:')
 dict['age'] = input('請(qǐng)輸入年齡:')
 dict['qq'] = input('請(qǐng)輸入QQ:')
 dict['mail'] = input('請(qǐng)輸入郵箱:')
 print('...正在修改,請(qǐng)等待...')
 turnTime()
 print('修改成功,返回主界面')


def turnTime():
 for i in list(range(5, 0, -1)):
 print(i, 's')
 time.sleep(1)

以下部分為控制臺(tái)效果截圖:

python3實(shí)現(xiàn)將數(shù)據(jù)存入文件保存的示例分析

2.查詢

python3實(shí)現(xiàn)將數(shù)據(jù)存入文件保存的示例分析

以上是“python3實(shí)現(xiàn)將數(shù)據(jù)存入文件保存的示例分析”這篇文章的所有內(nèi)容,感謝各位的閱讀!相信大家都有了一定的了解,希望分享的內(nèi)容對(duì)大家有所幫助,如果還想學(xué)習(xí)更多知識(shí),歡迎關(guān)注億速云行業(yè)資訊頻道!

向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI