python中用main根據id刪除一條數據方法如下。從控制臺輸入需要刪除的學生信息ID,程序到存儲信息的磁盤文件中找到對應ID的學生信息并刪除,實現刪除數據信息功能的業(yè)務流程圖刪除數據信息功能的具體實現,編寫主函數中所調用的刪除數據信息的delete()函數方法,編寫show()函數用于顯示學生信息,該函數功能將在后面開發(fā)。
為斗門等地區(qū)用戶提供了全套網頁設計制作服務,及斗門網站建設行業(yè)解決方案。主營業(yè)務為網站制作、成都網站建設、斗門網站設計,以傳統(tǒng)方式定制建設網站,并提供域名空間備案等一條龍服務,秉承以專業(yè)、用心的態(tài)度為用戶提供真誠的服務。我們深信只要達到每一位用戶的要求,就會得到認可,從而選擇與我們長期合作。這樣,我們也可以走得更遠!
我要糾正推薦答案中的說法!
del并不是用來“刪除引用指向的內存空間”,python中的del和c++中的delete是完全兩個概念,不要誤人子弟。。
一般來講,del是用來刪除變量的引用的,例如a = 1; del a,這里a是對1這個值的引用(python中所有的變量都可視作引用),而del a就是刪除這一引用關系,也就是說,1不再被a這個變量引用了,同時a這個變量名也從變量表中剔除了。
如果還是不太清楚,我舉這個例子你就明白了:
a = object()
b = a
del a
print b
print a # 該句會報a未定義的異常
這段代碼中,a引用了一個新對象object(),而b=a使得b也引用了這個對象,a和b雖然是兩個變量,但它們引用的是同一個對象,有點類似于c++中的兩個指針指向同一個對象。
而后面del a僅僅只是把a這個變量對object()的引用刪掉了,同時a的變量名也失效了,但并不表示object()這個對象被刪除了,它還在,并且b還引用著它呢。從后面print b能正常輸出就可以看出這一點。
python的內存釋放采用的是引用計數機制,也就是當一個對象沒有任何引用它的變量了,那么它就會自動被釋放,無需人工干預。
此外,del對于不同的對象也會有不同的功能,這取決于對象本身對__del__系統(tǒng)方法的實現。例如一個列表a = [1,2,3],del a[0]表示將列表的首項刪除,此時a就變成[2,3]了。如果是自定義的對象,那del的功能更是可以定義成你想要的任何樣子,詳情請參考python幫助中的__del__詞條。
os包的rmdir()函數可以用來刪除一個文件夾,但是文件夾必須是空的。一種可行的方法是讀取文件夾的文件列表,逐個刪除文件夾中的所有文件,然而文件夾中可能還有文件夾,因此這是一個遞歸的操作。\x0d\x0ashutil包rmtree()函數就實現了以上功能。shutil是一個高級文件操作的包,實現了文件及文件集合復制與刪除的功能。rmtree()函數接收非空文件夾的路徑這唯一一個參數。示例代碼如下:\x0d\x0aimport shutil\x0d\x0apath = 'g:\zhidao'\x0d\x0ashutil.rmtree(path)
要實現復制、移動、改名以及刪除文件或文件夾,需要用到 shutil 模塊,shutil 是 shell util 的簡寫形式,表示 shell 工具。
調用 shutil.copy(source, destination) 來實現復制文件或文件夾功能,依據 destination 進行區(qū)分:
運行結果:
注意: 指定復制的文件夾必須存在,否則會拋出 FileNotFoundError。
shutil 的 copytree(source, destination) 方法會復制整個文件夾,包括它所包含的所有文件夾和文件。source
指定源文件夾,destination 指定新的文件夾。source 和 destination 入參都是字符串。該函數會返回新文件夾的路徑。destination 如果不存在,會自動創(chuàng)建。請看下例:
運行結果:
shutil.move(source, destination) 方法會將路徑 source 處的文件移動到路徑 destination,并返回新位置的絕對路徑的字符串。
如果 destination 指向一個文件夾, source 處的文件將移動到 destination 中, 并保持原來的文件名。
運行結果:
注意:
os 模塊中的函數,可以實現刪除一個文件或一個空文件夾。而 shutil 更強大,使用它可以刪除一個非空文件夾!
注意: 因為是永久刪除,所以使用這些函數一定要小心!建議調試程序時, 先注釋掉這些刪除方法,
然后加上 print(), 把要被刪除的文件打印出來,確認后,再執(zhí)行。
打印出來的文件列表確認無誤后,再執(zhí)行 os.unlink(filename) 執(zhí)行刪除操作。
send2trash 模塊會將文件夾或文件發(fā)送到計算機的回收站。首先,安裝它:
安裝成功后,調用 send2trash.send2trash 方法,就可以把文件夾或文件發(fā)送到計算機的回收站。請看下例:
建議使用 send2trash.send2trash() 函數來刪除文件或文件夾,因為以后還可以從回收站還原。但這樣做,不
會釋放磁盤空間。如果我們還是希望程序釋放磁盤空間, 就要用 os 和 shutil 來刪除文件和
文件夾(記得使用之前提出的 print 技巧)。還有一點需要注意, send2trash() 函數只能將文件送到回收站, 但不能從回收站中恢復文件。
網站名稱:python刪除的函數 python誤刪如何撤銷
文章網址:http://m.rwnh.cn/article26/dosgojg.html
成都網站建設公司_創(chuàng)新互聯,為您提供網站營銷、搜索引擎優(yōu)化、用戶體驗、定制網站、微信公眾號、域名注冊
聲明:本網站發(fā)布的內容(圖片、視頻和文字)以用戶投稿、用戶轉載內容為主,如果涉及侵權請盡快告知,我們將會在第一時間刪除。文章觀點不代表本網站立場,如需處理請聯系客服。電話:028-86922220;郵箱:631063699@qq.com。內容未經允許不得轉載,或轉載時需注明來源: 創(chuàng)新互聯