欧美bbbwbbbw肥妇,免费乱码人妻系列日韩,一级黄片

Python使用文件操作實(shí)現(xiàn)一個(gè)XX信息管理系統(tǒng)的示例

 更新時(shí)間:2020年07月02日 10:44:29   作者:起個(gè)名字好難丫  
這篇文章主要介紹了Python使用文件操作實(shí)現(xiàn)一個(gè)XX信息管理系統(tǒng)的示例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧

寫(xiě)在前面

大家好,我是第一次python學(xué)了一個(gè)學(xué)期,期末要完成一個(gè)畢業(yè)生信息管理系統(tǒng)大作業(yè)的小韓了,由于上次沒(méi)有仔細(xì)看開(kāi)發(fā)實(shí)現(xiàn)的要求,實(shí)現(xiàn)了一個(gè)簡(jiǎn)單的畢業(yè)生信息管理系統(tǒng),而這次專門(mén)整理了兩種使用文件進(jìn)行保存數(shù)據(jù)實(shí)現(xiàn)的畢業(yè)生信息管理系統(tǒng),因?yàn)槭堑谝淮螌W(xué)python,還不太熟悉python的寫(xiě)法, 而之前是學(xué) c 、c++,感覺(jué)我的這個(gè)寫(xiě)的有一股 c/c++的內(nèi)味:

1. 使用excel .xlsx 保存數(shù)據(jù)實(shí)現(xiàn)一個(gè)畢業(yè)生信息管理系統(tǒng)2. 使用文本文檔.txt保存數(shù)據(jù)實(shí)現(xiàn)一個(gè)畢業(yè)生信息管理系統(tǒng)

以下將會(huì)在代碼進(jìn)行詳細(xì)的介紹

一、 對(duì)excel表格操作實(shí)現(xiàn)一個(gè)畢業(yè)生信息管理系統(tǒng)

開(kāi)發(fā)要求

1. 采用 python 語(yǔ)言實(shí)現(xiàn)一個(gè)XX信息管理系統(tǒng)

2.實(shí)現(xiàn)基本的增刪改查的基本功能,還可以加上一些如排序,搜索的操作3. 采用文件保存數(shù)據(jù)(而不是每次從鍵盤(pán)輸入)

4. 各個(gè)功能界面循環(huán)調(diào)用環(huán)境以及

開(kāi)發(fā)軟件

1. python 3.7.0 版本

2. pycharm 2019 中文版

一、 函數(shù)模塊設(shè)計(jì):

1.主函數(shù)模塊

實(shí)現(xiàn)功能

  • 查詢搜索畢業(yè)生信息列表
  • 增加畢業(yè)生信息
  • 修改畢業(yè)生信息
  • 刪除畢業(yè)生信息
  • 畢業(yè)生信息排序
  • 退出畢業(yè)生信息管理系統(tǒng)
def main(): # 主函數(shù)
  arry = [0, 1, 2, 3, 4, 5] # 定義一個(gè)選項(xiàng)的列表 用于輸入判斷
  Menu() # 先打印菜單
  while 1:
    a = input("請(qǐng)輸入: ")
    if a.isdigit() and int(a) in arry: # 這里判斷輸入的是不是數(shù)字 且在不在選項(xiàng)的列表中 如果輸入合法再進(jìn)行功能調(diào)用
      a = int(a)
      while a:
        if a == 1:
          PrintStudentList() # 查詢搜索畢業(yè)生信息功能
          Menu()
          break
        if a == 2:
          AddStudent() # 添加畢業(yè)生信息功能
          Menu()
          break
        if a == 3:
          ChangeStudent() # 修改畢業(yè)生信息功能
          Menu()
          break
        if a == 4:
          DeleteStudent() # 刪除畢業(yè)生信息功能
          Menu()
          break
        if a == 5:
          SortData() # 畢業(yè)生信息排序功能
          Menu()
          break
        elif a > 5 or a < 0:
          print("輸入有誤!")
          break

      if a == 0: # 按0退出該畢業(yè)生信息管理系統(tǒng)
        print("系統(tǒng)已退出!")
        exit()
    else:
      print("請(qǐng)輸入0--5!")


main()

這里因?yàn)檫€沒(méi)有學(xué)到python中的字典那部分知識(shí),而pyhton中又沒(méi)有switch和case所以就使用這個(gè) if 進(jìn)行判斷 雖然比較繁瑣,但是看起來(lái)還是比較清晰易懂的

二、 數(shù)據(jù)文件設(shè)計(jì)

因?yàn)檫@里要采用文件進(jìn)行保存數(shù)據(jù),我第一個(gè)想到的就是excel表格,這種.xlsx文件保存數(shù)據(jù)一目了然,因此本次選擇了excel表格進(jìn)行數(shù)據(jù)保存,寫(xiě)入,讀取,修改,刪除等基本功能

主要信息:

本次實(shí)現(xiàn)的是一個(gè)畢業(yè)生信息管理系統(tǒng),因此給每個(gè)畢業(yè)生設(shè)計(jì)的個(gè)人信息如下:
學(xué)號(hào) 姓名 電話 年級(jí) 學(xué)院 就業(yè) 就業(yè)公司 郵箱 月薪


關(guān)于對(duì)excel 表格使用則需要導(dǎo)入兩個(gè)包:

from openpyxl import Workbook # 導(dǎo)入操作 excel時(shí)所用的庫(kù)
from openpyxl import load_workbook # 用于對(duì)本地已經(jīng)存在的excel文件操作

如果這里導(dǎo)入失敗的話,可能需要自己手動(dòng)進(jìn)行 openpyxl 的下載 下載方法具體如下

點(diǎn)擊 文件 -->> 點(diǎn)擊設(shè)置(setting) -->> 點(diǎn)擊自己的項(xiàng)目 -->> 點(diǎn)擊第一個(gè)選項(xiàng) -->> 點(diǎn)擊頁(yè)面的右側(cè)的加號(hào) -->> 輸入 想要導(dǎo)入的包 (openpyxl) -->> 點(diǎn)擊左下角的 install Package 稍等一會(huì)即可完成安裝

2.增加畢業(yè)生信息模塊

從鍵盤(pán)獲取輸入的信息,信息校驗(yàn)成功后,先將信息保存在一個(gè)列表中,然后最后將整個(gè)列表插入到excel表格中,然后保存,這樣方便寫(xiě)入,否則頻繁的打開(kāi)關(guān)閉文件比較繁瑣,容易出現(xiàn)錯(cuò)誤。
例如:下面插入 學(xué)號(hào) id

先建立一個(gè)空的列表 然后先對(duì)學(xué)號(hào)進(jìn)行校驗(yàn),首先校驗(yàn)學(xué)號(hào)是否合法,比如長(zhǎng)度要求,或者插入的是否和表中的是否重復(fù),當(dāng)校驗(yàn)成功后才將學(xué)號(hào)保存到 列表中

 r = [] # 建立一個(gè)新的列表 在將這個(gè)列表插入到excel表中
  ID = None
  wb = load_workbook('StudentList.xlsx')
  sheet = wb.active
  id = input("請(qǐng)輸入學(xué)號(hào):")
  if CheckIdIsRight(id):
    while 1:
      id = input("請(qǐng)輸入正確的學(xué)號(hào)!")
      if not CheckIdIsRight(id):
        ID = id
        break
  else:
    ID = id
  r.append(ID) # 將輸入的ID插入到列表中

其余的其他信息依次類(lèi)推
最后將整個(gè)列表插入到excel表格中,然后關(guān)閉并保存文件

 sheet.append(r) # 將整個(gè)列表插入到excel 表格中 即為插入一行數(shù)據(jù)
  wb.close()
  wb.save('StudentList.xlsx')

3. 查詢搜索畢業(yè)生信息模塊


該功能主要實(shí)現(xiàn)查詢和搜索的功能 ,比如查看所有信息列表 ,按相關(guān)信息查詢畢業(yè)生信息,
例如:查詢所有畢業(yè)生信息:

def PrintAll():
  wb = load_workbook('StudentList.xlsx') # 打開(kāi)現(xiàn)在已經(jīng)有的表
  sheet = wb.active # 獲取當(dāng)前活躍的表 也就是當(dāng)前使用的表
  for row in sheet.rows: # 循環(huán)每一行
    for cell in row: # 循環(huán)每一行的單元格
      print(cell.value, end="   ") # 打印出每一個(gè)單元格的數(shù)據(jù)
    print()
  print()

只需要將每一個(gè)單元格的按順序打印出來(lái)即可

例如:按學(xué)號(hào)查詢?cè)摦厴I(yè)生的信息

 def SelectById():
    id = input("請(qǐng)輸入需要查詢的學(xué)號(hào):")
    if id.isdigit() and not CheckIdIsRight(id):
      id1 = int(id) # 將輸入的str類(lèi)型的轉(zhuǎn)換為 int 類(lèi)型
      wb = load_workbook('StudentList.xlsx') # 打開(kāi)現(xiàn)在已經(jīng)有的表
      sheet = wb.active # 獲取當(dāng)前活躍的表 也就是當(dāng)前使用的表
      r = FindId(id1)
      for i in range(1, 10):
        print(sheet.cell(1, i).value, end="  ") # 打印出表頭的信息
      print()
      for i in range(1, 10):
        print(sheet.cell(r, i).value, end="  ") # 打印出該id對(duì)應(yīng)的信息
      print()
    else:
      print("學(xué)號(hào)輸入錯(cuò)誤!")

首先應(yīng)該判斷一下輸入的學(xué)號(hào)是不是一串?dāng)?shù)字,而且 想要查詢的學(xué)生的學(xué)號(hào)是存在的,因?yàn)槲覀冞@里規(guī)定學(xué)號(hào)應(yīng)該是類(lèi)似于1700000000 這樣的一個(gè)數(shù)字,而python默認(rèn) input 輸入的是一個(gè) str 字符串類(lèi)型的 所以這里防止輸入錯(cuò)誤導(dǎo)致程序崩潰 因此加入了一些校驗(yàn),當(dāng)確認(rèn)合法之后 再將其 轉(zhuǎn)換為 int 類(lèi)型的變量 進(jìn)行使用。
而具體的就是通過(guò)一個(gè)findid的函數(shù)來(lái)返回學(xué)號(hào)所在的行 這樣就可以將這一行的信息打印出來(lái)即可 ,打印學(xué)生信息的同時(shí)不要忘了打印表頭的信息,這樣看起來(lái)會(huì)更加的清晰。

4. 修改畢業(yè)生信息模塊


在修改該學(xué)生信息之前,同樣對(duì)其輸入的學(xué)號(hào)進(jìn)行校驗(yàn),校驗(yàn)完成之后進(jìn)行相關(guān)信息的修改
修改的基本方法就是,通過(guò)學(xué)號(hào)找到該學(xué)生所在的行,然后對(duì)特定的列的信息修改(直接賦值),最后保存到文件即可
例如 : 修改姓名

def changename(row, wb): # 修改姓名 # row 為其所在的信息的行 wb 是表格對(duì)象
    name = input("請(qǐng)輸入修改之后的名字:")
    sheet.cell(row, 2, name)
    wb.save('StudentList.xlsx')

5. 畢業(yè)生信息排序


這里排序主要使用了一個(gè)冒泡排序的算法 對(duì)數(shù)據(jù)進(jìn)行排序,雖然python中是有內(nèi)置的排序算發(fā)法的,但是我這里還是自己實(shí)現(xiàn)了一個(gè)排序(升序),排完序了之后 也可以對(duì)升序的進(jìn)行一個(gè)反轉(zhuǎn) 得到一個(gè)降序的列表。 因?yàn)槭菍?duì)某一項(xiàng)的單一數(shù)據(jù)進(jìn)行排序,而排序結(jié)果是要求打印出所有信息的,因此先得到一個(gè)某一項(xiàng)數(shù)據(jù)排好序的列表,然后將列表對(duì)應(yīng)的信息進(jìn)行打印即可。
例如: 按學(xué)號(hào)進(jìn)行排序
冒泡排序:

def BubbleSort(l2): # 冒泡排序?qū)α斜碇械臄?shù)據(jù)進(jìn)行一個(gè)升序的排列
  for i in range(0, len(l2)):
    count = 0
    for j in range(1, len(l2)-i):
      if int(l2[j - 1]) > int(l2[j]):
        temp = l2[j]
        l2[j] = l2[j - 1]
        l2[j - 1] = temp
        count = count + 1
    if count == 0: # 算法優(yōu)點(diǎn) 當(dāng)已經(jīng)有序時(shí)就不再進(jìn)行排序
      return l2
  return l2 # 返回排好序的 列表

按學(xué)號(hào)從小到大排序并打印學(xué)生信息

def GetAllStudentById(): # 按學(xué)號(hào)排序打印出學(xué)生信息(升序)
  l = [] # 建立一個(gè)空的列表
  wb = load_workbook('StudentList.xlsx')
  sheet = wb.active
  for column in list(sheet.columns)[0]:
    l.append(column.value) # 將學(xué)號(hào)插入到列表中 得到一個(gè)學(xué)號(hào)列表
  l2 = l[1:] # 由于第一個(gè)是表頭 將第二個(gè)位置以后的范圍 拷貝給 l2
  l3 = BubbleSort(l2) # 進(jìn)行 學(xué)號(hào)排序
  # 3 是排好序的列表
  for i in range(1, 10):
    print(sheet.cell(1, i).value, end="   ") # 打印出表頭的信息
  print()
  for i in range(0, len(l3)): # 依次找到排好序的學(xué)號(hào)或年級(jí)對(duì)應(yīng)的學(xué)生信息即可
    r = FindId(l3[i]) # 找到該行
    for j in range(1, 10):
      print(sheet.cell(r, j).value, end="    ") # 打印出該id對(duì)應(yīng)的信息
    print()

注意 :因?yàn)閷W(xué)號(hào)是唯一的,因此可以通過(guò)找道該行,然后通過(guò)行號(hào)進(jìn)行某一行的定向信息打印,但是像年級(jí) ,月薪信息是有可能重復(fù)的,就不能再像學(xué)號(hào)一樣查找,打印了,但是我們可以先將年級(jí)的列表排好序,然后進(jìn)行一個(gè)去重,這樣,就可以將符合滿足,排好序的年級(jí)列表中的年級(jí)對(duì)應(yīng)的學(xué)生,信息全部打印出來(lái)

6. 刪除畢業(yè)生信息

非常簡(jiǎn)單,只需要將要?jiǎng)h除的學(xué)生的學(xué)號(hào)輸入,然后學(xué)號(hào)校驗(yàn)合法且存在之后,找到對(duì)應(yīng)的該行,然后將這一行的數(shù)據(jù)刪除就可以了。

def DeleteStudent(): # 刪除學(xué)生信息
  PrintAll()
  id = input("請(qǐng)輸入要?jiǎng)h除學(xué)生的學(xué)號(hào):")
  if not CheckIdIsRight(id): # 判斷學(xué)號(hào)為id的學(xué)生是否在StudentList.xlsx中
    print("學(xué)號(hào)正確!")
    id = int(id)
    row = FindId(id) # 查找其所在的行
    wb = load_workbook('StudentList.xlsx')
    sheet = wb.active
    isdelete = input("是否刪除該學(xué)生信息?輸入是或否:")
    if isdelete == '是':
      sheet.delete_rows(row, 1) # 刪除該行
      wb.save('StudentList.xlsx')
      print("刪除成功!")
    else:
      print("刪除失??!")

  else:
    print("學(xué)號(hào)輸入錯(cuò)誤!")

三、 測(cè)試

1. 查詢搜索測(cè)試




2. 添加測(cè)試

3.修改測(cè)試

4. 信息排序測(cè)試



5. 刪除信息測(cè)試



四、 源碼

from openpyxl import Workbook # 導(dǎo)入操作 excel時(shí)所用的庫(kù)
from openpyxl import load_workbook

IsJob = ['是', '否']


def Menu(): # 菜單主界面
  print(end=" " * 45)
  print('*' * 22)
  print(end=" " * 45)
  print("* 查詢畢業(yè)生信息輸入: 1 *")
  print(end=" " * 45)
  print("* 添加畢業(yè)生信息輸入: 2 *")
  print(end=" " * 45)
  print("* 修改畢業(yè)生信息輸入: 3 *")
  print(end=" " * 45)
  print("* 刪除畢業(yè)生信息輸入: 4 *")
  print(end=" " * 45)
  print("* 查看排序統(tǒng)計(jì)請(qǐng)輸入: 5 *")
  print(end=" " * 45)
  print("* 退出系統(tǒng)請(qǐng)輸入:  0 *")
  print(end=" " * 45)
  print('*' * 22)


def SelectStudentMenu():
  print(end=" " * 45)
  print('*' * 25)
  print(end=" " * 45)
  print("* 查看所有信息請(qǐng)輸入:  1 *")
  print(end=" " * 45)
  print("* 按學(xué)號(hào)查詢信息輸入:  2 *")
  print(end=" " * 45)
  print("* 按年級(jí)查詢信息輸入:  3 *")
  print(end=" " * 45)
  print("* 按是否就業(yè)查詢輸入:  4 *")
  print(end=" " * 45)
  print("* 退出查詢功能請(qǐng)輸入:  0 *")
  print(end=" " * 45)
  print('*' * 25)


def FindId(id): # 在excel中找到該 id 所在的行 返回行數(shù)
  i = 0
  wb = load_workbook('StudentList.xlsx')
  sheet = wb.active
  for column in list(sheet.columns)[0]: # 循環(huán)學(xué)號(hào)那一列的數(shù)據(jù)
    i = i + 1
    if id == column.value: # 找到了返回
      return i # 返回行數(shù)


def BubbleSort(l2): # 冒泡排序?qū)α斜碇械臄?shù)據(jù)進(jìn)行一個(gè)升序的排列
  for i in range(0, len(l2)):
    count = 0
    for j in range(1, len(l2)):
      if int(l2[j - 1]) > int(l2[j]):
        temp = l2[j]
        l2[j] = l2[j - 1]
        l2[j - 1] = temp
        count = count + 1
    if count == 0: # 算法優(yōu)點(diǎn) 當(dāng)已經(jīng)有序時(shí)就不再進(jìn)行排序
      return l2
  return l2 # 返回排好序的 列表


def GetAllStudentByGadeOrMoney(x):
  l = [] # 建立一個(gè)空的列表 用于存放數(shù)據(jù)進(jìn)行排序
  wb = load_workbook('StudentList.xlsx')
  sheet = wb.active
  for column in list(sheet.columns)[x]:
    l.append(column.value) # 將薪資或年級(jí)插入到列表中 得到一個(gè)薪資或年級(jí)列表
  l2 = l[1:] # 由于第一個(gè)是表頭 將第二個(gè)位置以后的范圍 拷貝給 l2
  l3 = BubbleSort(l2) # 進(jìn)行 薪資或年級(jí)排序   # 3 是排好序的列表
  i = 1
  l3.reverse() # 進(jìn)行一個(gè)反轉(zhuǎn)列表 得到一個(gè)降序的列表
  while i < len(l3): # 這是為了剔除列表中相同的元素
    if l3[i] == l3[i - 1]:
      del l3[i - 1]
    else:
      i = i + 1
  for i in range(1, 10):
    print(sheet.cell(1, i).value, end="   ") # 打印出表頭的信息
  print()
  j = 0
  while j < len(l3): # 按照排好序的列表對(duì)應(yīng)的值 在excel中查找 打印出對(duì)應(yīng)的信息
    for row in sheet.rows: # 循環(huán)每一行
      for cell in row: # 循環(huán)每一行的單元格
        if cell.value == l3[j]: # 找到年級(jí)符合的學(xué)生的信息
          for cell in row:
            print(cell.value, end="    ") # 打印出這一行的信息
          print()
    j = j + 1
  print()


def GetAllStudentById(): # 按學(xué)號(hào)排序打印出學(xué)生信息(升序)
  l = [] # 建立一個(gè)空的列表
  wb = load_workbook('StudentList.xlsx')
  sheet = wb.active
  for column in list(sheet.columns)[0]:
    l.append(column.value) # 將學(xué)號(hào)插入到列表中 得到一個(gè)學(xué)號(hào)列表
  l2 = l[1:] # 由于第一個(gè)是表頭 將第二個(gè)位置以后的范圍 拷貝給 l2
  l3 = BubbleSort(l2) # 進(jìn)行 學(xué)號(hào)排序
  # 3 是排好序的列表
  for i in range(1, 10):
    print(sheet.cell(1, i).value, end="   ") # 打印出表頭的信息
  print()
  for i in range(0, len(l3)): # 依次找到排好序的學(xué)號(hào)或年級(jí)對(duì)應(yīng)的學(xué)生信息即可
    r = FindId(l3[i]) # 找到該行
    for j in range(1, 10):
      print(sheet.cell(r, j).value, end="    ") # 打印出該id對(duì)應(yīng)的信息
    print()


def PrintAll():
  wb = load_workbook('StudentList.xlsx') # 打開(kāi)現(xiàn)在已經(jīng)有的表
  sheet = wb.active # 獲取當(dāng)前活躍的表 也就是當(dāng)前使用的表
  for row in sheet.rows: # 循環(huán)每一行
    for cell in row: # 循環(huán)每一行的單元格
      print(cell.value, end="   ") # 打印出每一個(gè)單元格的數(shù)據(jù)
    print()
  print()


def PrintStudentList(): # 打印excel文件中的數(shù)據(jù)

  def SelectById():
    id = input("請(qǐng)輸入需要查詢的學(xué)號(hào):")
    if id.isdigit() and not CheckIdIsRight(id):
      id1 = int(id)
      wb = load_workbook('StudentList.xlsx') # 打開(kāi)現(xiàn)在已經(jīng)有的表
      sheet = wb.active # 獲取當(dāng)前活躍的表 也就是當(dāng)前使用的表
      r = FindId(id1)
      for i in range(1, 10):
        print(sheet.cell(1, i).value, end="  ") # 打印出表頭的信息
      print()
      for i in range(1, 10):
        print(sheet.cell(r, i).value, end="  ") # 打印出該id對(duì)應(yīng)的信息
      print()
    else:
      print("學(xué)號(hào)輸入錯(cuò)誤!")

  def SelectByGrade():
    wb = load_workbook('StudentList.xlsx') # 打開(kāi)現(xiàn)在已經(jīng)有的表
    sheet = wb.active # 獲取當(dāng)前活躍的表 也就是當(dāng)前使用的表
    grade = input("請(qǐng)輸入要查詢的年級(jí):")
    if grade.isdigit():
      for i in range(1, 10):
        print(sheet.cell(1, i).value, end="  ") # 打印出表頭的信息
      print()
      # 這里也需要進(jìn)行優(yōu)化
      for row in sheet.rows: # 循環(huán)每一行
        for cell in row: # 循環(huán)每一行的單元格
          if cell.value == int(grade): # 找到年級(jí)符合的學(xué)生的信息
            for cell in row:
              print(cell.value, end="  ") # 打印出這一行的信息
            print()
      print()
    else:
      print("輸入不合法!")

  def SelectByIsJob():
    wb = load_workbook('StudentList.xlsx') # 打開(kāi)現(xiàn)在已經(jīng)有的表
    sheet = wb.active # 獲取當(dāng)前活躍的表 也就是當(dāng)前使用的表
    isjob = input("請(qǐng)輸入要查詢的學(xué)生是否已經(jīng)就業(yè) :")
    if isjob in IsJob: # 檢查輸入是否正確
      if isjob == '是': # 如果要查詢已經(jīng)就業(yè)的學(xué)生
        for i in range(1, 10):
          print(sheet.cell(1, i).value, end="  ") # 打印出表頭的信息
        print()
        for row in sheet.rows: # 循環(huán)每一行
          for cell in row: # 循環(huán)每一行的單元格
            if cell.value == '是': # 找到就業(yè)信息是 '是'的學(xué)生的那一行
              for cell in row:
                print(cell.value, end="  ") # 打印出這一行的信息
              print()
        print()
      else: # 查詢 '否' 還沒(méi)有就業(yè)的學(xué)生
        for i in range(1, 10):
          print(sheet.cell(1, i).value, end="  ") # 打印出表頭的信息
        print()
        for row in sheet.rows: # 循環(huán)每一行
          for cell in row: # 循環(huán)每一行的單元格
            if cell.value == '否': # 找到就業(yè)信息是 '否'的學(xué)生的那一行的內(nèi)容
              for cell in row:
                print(cell.value, end="  ") # 打印出這一行的信息
              print()
        print()
    else:
      print("輸入錯(cuò)誤!")

  arry = [0, 1, 2, 3, 4]
  while 1: # 循環(huán)查找直到退出
    SelectStudentMenu()
    a = (input("請(qǐng)輸入想要執(zhí)行的操作:"))
    if a.isdigit() and int(a) in arry:
      a = int(a)
      while a:
        if a == 1:
          PrintAll()
          break
        if a == 2:
          SelectById()
          break
        if a == 3:
          SelectByGrade()
          break
        if a == 4:
          SelectByIsJob()
          break
        if a < 0 or a > 4:
          print("輸入錯(cuò)誤!請(qǐng)重新輸入:")
          break
      if a == 0:
        break
    else:
      print("請(qǐng)輸入0--4!")


def CheckIdIsRight(id1): # 檢查學(xué)號(hào)ID是否存在或格式不正確
  wb = load_workbook('StudentList.xlsx')
  sheet = wb.active
  if id1.isdigit():
    id2 = int(id1)
    for column in list(sheet.columns)[0]:
      if id2 == column.value:
        print("學(xué)號(hào)存在")
        return False
    if id2 < 1000000000 or id2 > 10000000000:
      print("學(xué)號(hào)格式不正確!")
      return True
  else:
    print("學(xué)號(hào)應(yīng)該是數(shù)字!")
    return True


def AddStudent(): # 添加學(xué)生信息模塊
  r = [] # 建立一個(gè)新的列表 在將這個(gè)列表插入到excel表中
  ID = None
  wb = load_workbook('StudentList.xlsx')
  sheet = wb.active
  id = input("請(qǐng)輸入學(xué)號(hào):")
  if CheckIdIsRight(id):
    while 1:
      id = input("請(qǐng)輸入正確的學(xué)號(hào)!")
      if not CheckIdIsRight(id):
        ID = id
        break
  else:
    ID = id
  r.append(ID) # 將輸入的ID插入到列表中
  name = input("請(qǐng)輸入你的名字:") # 添加姓名信息
  r.append(name) # 將姓名插入到列表中
  tell = input("請(qǐng)輸入你的電話號(hào)碼:")
  while 1:
    if len(tell) != 11:
      print("電話號(hào)碼格式不正確!請(qǐng)重新輸入:")
      tell = input()
      if len(tell) == 11:
        print("輸入成功!")
        break
    if len(tell) == 11:
      break
  r.append(tell) # 將電話號(hào)碼插入到列表中
  grade = int(input("請(qǐng)輸入你的年級(jí):")) # 添加年級(jí)信息
  while 1:
    if grade < 2000: # 判斷年級(jí)是否正確范圍內(nèi)
      print("年級(jí)輸入不正確!請(qǐng)重新輸入:")
      grade = int(input())
      if grade >= 2000:
        print("輸入成功!")
        break
    if grade >= 2000:
      break
  r.append(grade) # 將年級(jí)插入到列表中
  institute = input("請(qǐng)輸入你的學(xué)院:") # 添加學(xué)院信息
  r.append(institute) # 將學(xué)院信息插入到列表中
  isjob = input("是否已經(jīng)工作:輸入 :是或否!") # 添加是否就業(yè)信息 當(dāng)其 是 '是'時(shí)才能添加公司
  while 1:
    if isjob in IsJob:
      r.append(isjob)
      break
    else:
      print("輸入錯(cuò)誤請(qǐng)重新輸入:")
      isjob = input()
  if r[5] == '是': # 添加公司信息
    company = input("請(qǐng)輸入你的公司名 ")
    r.append(company)
  else:
    company = '無(wú)'
    r.append(company)

  e_mail = input("請(qǐng)輸入你的電子郵箱:") # 添加郵箱信息
  r.append(e_mail) # 將電子郵箱信息插入到列表中
  if r[5] == '是':
    money = input("請(qǐng)輸入你的月薪:") # 添加月薪信息
    r.append(money) # 只有當(dāng)已經(jīng)就業(yè)時(shí)才可以添加月薪信息
  if r[5] == '否':
    money = 0 # 否則 月薪默認(rèn)為 0
    r.append(money)
  sheet.append(r) # 將整個(gè)列表插入到excel 表格中 即為插入一行數(shù)據(jù)
  wb.close()
  wb.save('StudentList.xlsx')


def StudentPersonalMsg(): # 修改信息界面選擇
  print(end=" " * 45)
  print('*' * 23)
  print(end=" " * 45)
  print("* 修改學(xué)生姓名請(qǐng)輸入: 1 *")
  print(end=" " * 45)
  print("* 修改電話號(hào)碼請(qǐng)輸入: 2 *")
  print(end=" " * 45)
  print("* 修改是否就業(yè)請(qǐng)輸入: 3 *")
  print(end=" " * 45)
  print("* 修改就業(yè)公司請(qǐng)輸入: 4 *")
  print(end=" " * 45)
  print("* 修改郵箱信息請(qǐng)輸入: 5 *")
  print(end=" " * 45)
  print("* 修改月薪信息請(qǐng)輸入: 6 *")
  print(end=" " * 45)
  print("* 退出修改請(qǐng)輸入:  0 *")
  print(end=" " * 45)
  print('*' * 23)


def ChangeStudent(): # 修改學(xué)生信息模塊
  def changename(row, wb): # 修改姓名 # row 為其所在的信息的行 wb 是表格對(duì)象
    name = input("請(qǐng)輸入修改之后的名字:")
    sheet.cell(row, 2, name)
    wb.save('StudentList.xlsx')

  def changetell(row, wb): # 修改電話號(hào)碼 同樣進(jìn)行信息格式校對(duì)
    tell = input("請(qǐng)輸入修改后的電話號(hào)碼:")
    while 1:
      if len(tell) != 11:
        print("電話號(hào)碼格式不正確!請(qǐng)重新輸入:")
        tell = input()
        if len(tell) == 11:
          print("輸入成功!")
          break
      if len(tell) == 11:
        break
    sheet.cell(row, 3, tell)
    wb.save('StudentList.xlsx')

  def changeisjob(row, wb): # 修改是否就業(yè)狀態(tài)信息
    IsJob = ['是', '否']
    isjob = input("是否已經(jīng)工作:輸入 :是或否!")
    while 1:
      if isjob in IsJob:
        sheet.cell(row, 6, isjob)
        wb.save('StudentList.xlsx')
        break
      else:
        print("輸入錯(cuò)誤請(qǐng)重新輸入:")
        isjob = input()

  def changecompany(row, wb): # 修改公司信息
    if sheet.cell(row, 6).value == '是': # 判斷是否就業(yè)
      company = input("請(qǐng)輸入修改后的公司:")
      sheet.cell(row, 7, company)
      wb.save('StudentList.xlsx')
    else:
      print("請(qǐng)先修改是否就業(yè):")
      changeisjob(row, wb)
      changecompany(row, wb)

  def changemail(row, wb): # 修改學(xué)生郵箱信息
    mail = input("請(qǐng)輸入修改之后的郵箱:")
    sheet.cell(row, 8, mail)
    wb.save('StudentList.xlsx')

  def changemoney(row, wb): # 修改月薪信息
    if sheet.cell(row, 6).value == '是': # 判斷是否就業(yè)
      money = int(input("請(qǐng)輸入修改之后的月薪:"))
      sheet.cell(row, 9, money)
      wb.save('StudentList.xlsx')
    else:
      print("請(qǐng)先修改就業(yè)狀態(tài)及就業(yè)公司!")
      changeisjob(row, wb)
      changecompany(row, wb)
      changemoney(row, wb)

  PrintAll()
  arry = [0, 1, 2, 3, 4, 5, 6]
  id = input("請(qǐng)輸入你要修改的學(xué)生的學(xué)號(hào):")
  if not CheckIdIsRight(id): # 檢驗(yàn)學(xué)號(hào)是否存在
    print("學(xué)號(hào)正確!")
    row = FindId(id)
    wb = load_workbook('StudentList.xlsx')
    sheet = wb.active
    StudentPersonalMsg()
    while 1:
      a = input("請(qǐng)輸入:")
      if a.isdigit() and int(a) in arry:
        a = int(a)
        while a > 0:
          if a == 1:
            changename(row, wb)
            print("修改成功!")
            break
          if a == 2:
            changetell(row, wb)
            print("修改成功!")
            break
          if a == 3:
            changeisjob(row, wb)
            print("修改成功!")
            break
          if a == 4:
            changecompany(row, wb)
            print("修改成功!")
            break
          if a == 5:
            changemail(row, wb)
            print("修改成功!")
            break
          if a == 6:
            changemoney(row, wb)
            print("修改成功!")
            break
          elif a > 6 or a < 0:
            print("輸入有誤!")
            break
        if a == 0:
          break
      else:
        print("請(qǐng)輸入正確的選項(xiàng)0--6!")
        break

  else:
    print("請(qǐng)輸入正確的學(xué)號(hào)!")


def DeleteStudent(): # 刪除學(xué)生信息
  PrintAll()
  id = input("請(qǐng)輸入要?jiǎng)h除學(xué)生的學(xué)號(hào):")
  if not CheckIdIsRight(id): # 判斷學(xué)號(hào)為id的學(xué)生是否在StudentList.xlsx中
    print("學(xué)號(hào)正確!")
    id = int(id)
    row = FindId(id) # 查找其所在的行
    wb = load_workbook('StudentList.xlsx')
    sheet = wb.active
    isdelete = input("是否刪除該學(xué)生信息?輸入是或否:")
    if isdelete == '是':
      sheet.delete_rows(row, 1) # 刪除該行
      wb.save('StudentList.xlsx')
      print("刪除成功!")
      PrintAll()
    else:
      print("刪除失??!")

  else:
    print("學(xué)號(hào)輸入錯(cuò)誤!")


def SortMenu():
  print(end=" " * 45)
  print('*' * 30)
  print(end=" " * 45)
  print("* 按學(xué)號(hào)從小到大排序結(jié)果輸入: 1 *")
  print(end=" " * 45)
  print("* 按年級(jí)從大到小排序結(jié)果輸入: 2 *")
  print(end=" " * 45)
  print("* 按薪資從高到低排序結(jié)果輸入: 3 *")
  print(end=" " * 45)
  print("* 退出此功能請(qǐng)輸入:      0 *")
  print(end=" " * 45)
  print('*' * 30)


def SortData():
  SortMenu()
  arry = [0, 1, 2, 3]
  while 1:
    a = input("請(qǐng)輸入: ")
    if a.isdigit() and int(a) in arry:
      a = int(a)
      while a:
        if a == 1:
          GetAllStudentById()
          SortMenu()
          break
        if a == 2:
          GetAllStudentByGadeOrMoney(3)
          SortMenu()
          break
        if a == 3:
          GetAllStudentByGadeOrMoney(8)
          SortMenu()
          break
        elif a > 3 or a < 0:
          print("輸入有誤!")
          break
      if a == 0:
        break
    else:
      print("請(qǐng)輸入正確的選項(xiàng)0--3")


def main(): # 主函數(shù)
  arry = [0, 1, 2, 3, 4, 5]
  Menu() # 先打印菜單
  while 1:
    a = input("請(qǐng)輸入: ")
    if a.isdigit() and int(a) in arry:
      a = int(a)
      while a:
        if a == 1:
          PrintStudentList()
          Menu()
          break
        if a == 2:
          AddStudent()
          Menu()
          break
        if a == 3:
          ChangeStudent()
          Menu()
          break
        if a == 4:
          DeleteStudent()
          Menu()
          break
        if a == 5:
          SortData()
          Menu()
          break
        elif a > 5 or a < 0:
          print("輸入有誤!")
          break

      if a == 0: # 按0退出進(jìn)程
        print("系統(tǒng)已退出!")
        exit()
    else:
      print("請(qǐng)輸入0--5!")


main()

文件:


注意:將表格excel文件放在代碼相同目錄下即可 ,否則應(yīng)該在使用文件時(shí)填上絕對(duì)路徑,否則會(huì)出現(xiàn)文件打不開(kāi),或者找不到等錯(cuò)誤,在系統(tǒng)運(yùn)行期間應(yīng)該講文件保存并關(guān)閉,否則當(dāng)文件處于打開(kāi)狀態(tài)時(shí)無(wú)法進(jìn)行修改,插入等操作,出現(xiàn)錯(cuò)誤。

二、 采用文本文檔保存數(shù)據(jù)實(shí)現(xiàn)的畢業(yè)生信息管理系統(tǒng)

基本思想與上述的相似,就不再這里闡述了,以下附上源碼。

源碼

StudentInfo = ['學(xué)號(hào)', '姓名', '性別', '畢業(yè)年級(jí)', '就業(yè)公司名稱', '電話號(hào)碼(+86)', '家庭住址']


def GetList(): # 將 StudentMsg.txt 中的數(shù)據(jù) 拷貝到一個(gè)列表中
  fiel = open('StudentMsg.txt', 'r', encoding='utf-8')
  l = []
  for line in fiel:
    l.append(line.strip()) # 將所有的信息以c字符形式插入到列表中
  return l


def PrintAllMsg(): # 打印出所有的信息
  l = GetList()
  print(StudentInfo)
  count = 0
  for i in range(0, len(l)): # 將列表中的所有信息 按7條一行打印
 
    count = count + 1
    print(l[i], end="   ")
    if count % 7 == 0:
      print()
  print()


def ModifyMenu():
  print('-' * 22)
  print("# 修改姓名請(qǐng)輸入:   1 *")
  print("# 修改性別請(qǐng)輸入:   2 *")
  print("# 修改畢業(yè)年級(jí)請(qǐng)輸入: 3 *")
  print("# 修改公司信息請(qǐng)輸入: 4 *")
  print("# 修改電話號(hào)碼請(qǐng)輸入: 5 *")
  print("# 修改家庭住址請(qǐng)輸入: 6 *")
  print("# 退出修改請(qǐng)輸入: 0 *")
  print('-' * 22)


def ModifyMsg():
  def ModifyName(pos):
    f = open('StudentMsg.txt', 'r+', encoding='utf-8')
    flist = f.readlines()
    name = input("輸入修改之后的姓名:")
    name += '\n'
    flist[pos + 1] = name
    f = open('StudentMsg.txt', 'w+', encoding='utf-8')
    f.writelines(flist)
    f.close()
    print("修改成功!")

  def ModifySex(pos):
    Sex = ['男', '女']
    f = open('StudentMsg.txt', 'r+', encoding='utf-8')
    flist = f.readlines()
    sex = input("輸入修改之后的性別:")
    if sex in Sex:
      sex += '\n'
      flist[pos + 2] = sex
      f = open('StudentMsg.txt', 'w+', encoding='utf-8')
      f.writelines(flist)
      f.close()
      print("修改成功!")
    else:
      print("輸入錯(cuò)誤!")
      print("修改失?。?)
      ModifySex(pos)

  def ModifyYear(pos):
    f = open('StudentMsg.txt', 'r+', encoding='utf-8')
    flist = f.readlines()
    year = input("輸入修改之后的年級(jí):")
    if int(year) > 2000:
      year += '\n'
      flist[pos + 3] = year
      f = open('StudentMsg.txt', 'w+', encoding='utf-8')
      f.writelines(flist)
      f.close()
      print("修改成功!")
    else:
      print("輸入錯(cuò)誤!")
      print("修改失??!")
      ModifyYear(pos)

  def Modifycompany(pos):
    f = open('StudentMsg.txt', 'r+', encoding='utf-8')
    flist = f.readlines()
    company = input("輸入修改之后的公司:")
    company += '\n'
    flist[pos + 4] = company
    f = open('StudentMsg.txt', 'w+', encoding='utf-8')
    f.writelines(flist)
    f.close()
    print("修改成功!")

  def ModifyTell(pos):
    f = open('StudentMsg.txt', 'r+', encoding='utf-8')
    flist = f.readlines()
    tell = input("輸入修改之后的電話號(hào)碼:")
    if len(tell) == 11:
      tell += '\n'
      flist[pos + 5] = tell
      f = open('StudentMsg.txt', 'w+', encoding='utf-8')
      f.writelines(flist)
      f.close()
      print("修改成功!")
    else:
      print("輸入錯(cuò)誤!")
      print("修改失??!")
      ModifyTell(pos)

  def ModifyAddress(pos):
    f = open('StudentMsg.txt', 'r+', encoding='utf-8')
    flist = f.readlines()
    address = input("輸入修改之后的地址:")
    address += '\n'
    flist[pos + 6] = address
    f = open('StudentMsg.txt', 'w+', encoding='utf-8')
    f.writelines(flist)
    f.close()
    print("修改成功!")

  PrintAllMsg()
  id = input("請(qǐng)輸入你要修改的學(xué)號(hào):")
  if id in IsIdRight():
    l2 = GetList()
    pos = l2.index(id)
    while 1:
      ModifyMenu()
      a = int(input("請(qǐng)輸入: "))
      while a:
        if a == 1:
          ModifyName(pos)
          break
        if a == 2:
          ModifySex(pos)
          break
        if a == 3:
          ModifyYear(pos)
          break
        if a == 4:
          Modifycompany(pos)
          break
        if a == 5:
          ModifyTell(pos)
          break
        if a == 6:
          ModifyAddress(pos)
          break
      if a == 0: # 按0退出進(jìn)程
        break


def DelMsg():
  PrintAllMsg()
  id = input("請(qǐng)輸入你要?jiǎng)h除的學(xué)生的Id:")
  if id in IsIdRight():
    pos = GetList().index(id)
    f = open('StudentMsg.txt', 'r+', encoding='utf-8')
    flist = f.readlines()
    for i in range(0, 7):
      del flist[pos]
    f = open('StudentMsg.txt', 'w+', encoding='utf-8')
    f.writelines(flist)
    f.close()
    print("刪除成功!")
    PrintAllMsg()
  else:
    print("學(xué)號(hào)輸入錯(cuò)誤!")
    DelMsg()


def IsIdRight(): # 返回學(xué)號(hào)列表
  l1 = GetList()
  l2 = []
  i = 0
  while i < len(l1):
    l2.append(l1[i])
    i = i + 7
  return l2


def AddMsg(): # 添加信息
  fiel = open('StudentMsg.txt', 'a', encoding='utf-8')

  def Inputid(): # 添加學(xué)號(hào)判斷
    id = (input("請(qǐng)輸入你的學(xué)號(hào):"))
    l1 = IsIdRight()
    if not (int(id) > 1000 and (id in l1)):
      fiel.write('\n')
      fiel.writelines(id)
    else:
      if int(id) < 1000:
        print("學(xué)號(hào)輸入錯(cuò)誤!")
        Inputid()
      if id in IsIdRight():
        print("學(xué)號(hào)存在!")
        Inputid()

  def Inputname(): # 添加姓名判斷
    name = input("請(qǐng)輸入你的姓名:")
    fiel.write('\n')
    fiel.writelines(name)

  def InputSex(): # 添加性別判斷
    sex = ['男', '女']
    s1 = input("請(qǐng)輸入你的性別")
    if s1 in sex:
      fiel.write('\n')
      fiel.writelines(s1)
    else:
      print("性別輸入錯(cuò)誤!")
      InputSex()

  def InputGaduYear(): # 添加畢業(yè)年級(jí)判斷
    year = (input("請(qǐng)輸入你的畢業(yè)年級(jí):"))
    if int(year) > 2000:
      fiel.write('\n')
      fiel.writelines(year)
    else:
      print("畢業(yè)年級(jí)輸入錯(cuò)誤!")
      InputGaduYear()

  def InputCompany(): # 添加公司信息
    company = input("請(qǐng)輸入你的就業(yè)公司:")
    fiel.write('\n')
    fiel.writelines(company)

  def InputTell(): # 添加電話判斷
    tell = (input("請(qǐng)輸入你的電話號(hào)碼:"))
    if len(tell) == 11:
      fiel.write('\n')
      fiel.writelines(tell)
    else:
      print("電話號(hào)碼輸入錯(cuò)誤!")
      InputTell()

  def InputAddress(): # 添加地址信息
    add = input("請(qǐng)輸入你的家庭地址:")
    fiel.write('\n')
    fiel.writelines(add)

  Inputid()
  Inputname()
  InputSex()
  InputGaduYear()
  InputCompany()
  InputTell()
  InputAddress()
  fiel.close() # 關(guān)閉文件


def Menu(): # 菜單主界面
  print('-' * 22)
  print("# 查看畢業(yè)生列表輸入: 1 *")
  print("# 添加畢業(yè)生信息輸入: 2 *")
  print("# 修改畢業(yè)生信息輸入: 3 *")
  print("# 查找畢業(yè)生信息輸入:4 *")
  print("# 刪除畢業(yè)生信息輸入: 5 *")
  print("# 退出系統(tǒng)請(qǐng)輸入   0 *")
  print('-' * 22)


def FindMenu():
  print('-' * 22)
  print("# 搜索學(xué)號(hào)請(qǐng)輸入: 1 *")
  print("# 搜索姓名請(qǐng)輸入: 2 *")
  print("# 退出搜所請(qǐng)輸入 0 *")
  print('-' * 22)


def FindStu():
  def FindMsgById():
    id = input("請(qǐng)輸入你需要查找的學(xué)生的學(xué)號(hào):")
    if id in IsIdRight():
      pos = GetList().index(id)
      flist = GetList()
      print(StudentInfo)
      for i in range(0, 7):
        print(flist[pos + i], end="   ")
      print()
    else:
      print("學(xué)號(hào)輸入錯(cuò)誤!")
      FindMsgById()

  def FindMsgByName():
    name = input("請(qǐng)輸入你需要查找的學(xué)生的姓名:")
    if name in GetList():
      pos = GetList().index(name) - 1
      flist = GetList()
      print(StudentInfo)
      for i in range(0, 7):
        print(flist[pos + i], end="   ")
      print()
    else:
      print("姓名輸入錯(cuò)誤!")
      FindMsgByName()

  while 1:
    FindMenu()
    a = int(input("請(qǐng)輸入: "))
    while a:
      if a == 1:
        FindMsgById()
        break
      if a == 2:
        FindMsgByName()
        break
    if a == 0:
      break


def main():
  Menu()
  while 1:
    a = int(input("請(qǐng)輸入: "))
    while a:

      if a == 1:
        PrintAllMsg()
        Menu()
        break
      if a == 2:
        AddMsg()
        Menu()
        break
      if a == 3:
        ModifyMsg()
        Menu()
        break
      if a == 4:
        FindStu()
        Menu()
        break
      if a == 5:
        DelMsg()
        Menu()
        break
    if a == 0: # 按0退出進(jìn)程
      exit()


main()

相應(yīng)的簡(jiǎn)要測(cè)試:



相應(yīng)的文件:注意 該文本文件應(yīng)和代碼文件在同一個(gè)目錄下


注意 : 這里采用分行進(jìn)行數(shù)據(jù)的存儲(chǔ),為了方便數(shù)據(jù)的準(zhǔn)確修改,不需要一整行的數(shù)據(jù)進(jìn)行修改那么麻煩,插入和修改也更為精確

到此這篇關(guān)于Python使用文件操作實(shí)現(xiàn)一個(gè)XX信息管理系統(tǒng)的示例的文章就介紹到這了,更多相關(guān)Python XX信息管理系統(tǒng)內(nèi)容請(qǐng)搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!

相關(guān)文章

  • cv2.getStructuringElement()函數(shù)及開(kāi)、閉、腐蝕、膨脹原理講解

    cv2.getStructuringElement()函數(shù)及開(kāi)、閉、腐蝕、膨脹原理講解

    getStructuringElement()函數(shù)可用于構(gòu)造一個(gè)特定大小和形狀的結(jié)構(gòu)元素,用于圖像形態(tài)學(xué)處理,這篇文章主要介紹了cv2.getStructuringElement()函數(shù)及開(kāi)、閉、腐蝕、膨脹原理講解的相關(guān)資料,需要的朋友可以參考下
    2022-12-12
  • Python中sort函數(shù)正則表達(dá)式的使用

    Python中sort函數(shù)正則表達(dá)式的使用

    在python中,sort是列表排序的一種方法,本文就來(lái)介紹一下sort函數(shù)正則表達(dá)式的使用以及與sorted的區(qū)別,具有一定的參考價(jià)值,感興趣的可以了解一下
    2024-03-03
  • Python爬蟲(chóng)實(shí)戰(zhàn)之爬取某寶男裝信息

    Python爬蟲(chóng)實(shí)戰(zhàn)之爬取某寶男裝信息

    網(wǎng)絡(luò)爬蟲(chóng)是一種按照一定的規(guī)則自動(dòng)瀏覽、檢索網(wǎng)頁(yè)信息的程序或者腳本。網(wǎng)絡(luò)爬蟲(chóng)能夠自動(dòng)請(qǐng)求網(wǎng)頁(yè),并將所需要的數(shù)據(jù)抓取下來(lái)。本文將為大家介紹如何利用爬蟲(chóng)獲取某寶男裝信息,感興趣的小伙伴可以了解一下
    2021-12-12
  • python中的列表與元組的使用

    python中的列表與元組的使用

    這篇文章主要介紹了python中的列表與元組的使用,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友們下面隨著小編來(lái)一起學(xué)習(xí)學(xué)習(xí)吧
    2019-08-08
  • Python的in,is和id函數(shù)代碼實(shí)例

    Python的in,is和id函數(shù)代碼實(shí)例

    這篇文章主要介紹了python的in,is和id函數(shù)代碼實(shí)例,文中通過(guò)示例代碼介紹的非常詳細(xì),對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,需要的朋友可以參考下
    2020-04-04
  • 教你pycharm快速添加遠(yuǎn)程環(huán)境的詳細(xì)過(guò)程

    教你pycharm快速添加遠(yuǎn)程環(huán)境的詳細(xì)過(guò)程

    今天通過(guò)本文給大家分享pycharm快速添加遠(yuǎn)程環(huán)境的過(guò)程,通過(guò)在setting中選擇設(shè)置符號(hào)add,具體詳細(xì)過(guò)程跟隨小編一起通過(guò)本文學(xué)習(xí)下吧
    2021-07-07
  • 時(shí)間序列重采樣和pandas的resample方法示例解析

    時(shí)間序列重采樣和pandas的resample方法示例解析

    這篇文章主要為大家介紹了時(shí)間序列重采樣和pandas的resample方法示例解析,有需要的朋友可以借鑒參考下,希望能夠有所幫助,祝大家多多進(jìn)步,早日升職加薪
    2023-09-09
  • python正則表達(dá)式中的括號(hào)匹配問(wèn)題

    python正則表達(dá)式中的括號(hào)匹配問(wèn)題

    這篇文章主要介紹了python正則表達(dá)式中的括號(hào)匹配問(wèn)題,需要的朋友可以參考下
    2014-12-12
  • python網(wǎng)絡(luò)爬蟲(chóng)精解之Beautiful Soup的使用說(shuō)明

    python網(wǎng)絡(luò)爬蟲(chóng)精解之Beautiful Soup的使用說(shuō)明

    簡(jiǎn)單來(lái)說(shuō),Beautiful Soup 是 python 的一個(gè)庫(kù),最主要的功能是從網(wǎng)頁(yè)抓取數(shù)據(jù),Beautiful Soup 提供一些簡(jiǎn)單的、python 式的函數(shù)用來(lái)處理導(dǎo)航、搜索、修改分析樹(shù)等功能,需要的朋友可以參考下
    2021-09-09
  • Python使用psutil庫(kù)實(shí)現(xiàn)系統(tǒng)監(jiān)控與管理詳解

    Python使用psutil庫(kù)實(shí)現(xiàn)系統(tǒng)監(jiān)控與管理詳解

    在我們的測(cè)試工作中,監(jiān)控和管理系統(tǒng)資源是一項(xiàng)重要的任務(wù),本文將介紹如何使用psutil庫(kù)來(lái)實(shí)現(xiàn)系統(tǒng)監(jiān)控和管理,以及一些實(shí)用的技巧和示例,希望對(duì)大家有所幫助
    2022-10-10

最新評(píng)論