第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何在python中將文件擱置為空?

如何在python中將文件擱置為空?

桃花長相依 2021-03-29 17:23:03
我創(chuàng)建了一個擱置文件并插入了詞典數(shù)據(jù)。現(xiàn)在,我想清理該擱置文件,以將其作為干凈文件重復使用。import shelvedict = shelve.open("Sample.db")# insert some data into sample.dbdict = { "foo" : "bar"}#Now I want to clean entire shelve file to re-insert the data from begining.
查看完整描述

3 回答

?
GCT1015

TA貢獻1827條經(jīng)驗 獲得超4個贊

貨架的行為就像字典一樣,因此:

dict.clear()

或者,您始終可以刪除文件并擱置創(chuàng)建一個新文件。


查看完整回答
反對 回復 2021-04-06
?
紅糖糍粑

TA貢獻1815條經(jīng)驗 獲得超6個贊

dict.clear()是最簡單的方法,應該是有效的,但實際上似乎并沒有清除架子文件(Python 3.5.2,Windows 7 64位)。例如,.dat我每次運行以下代碼段時,文件架文件的大小都會增加,而我希望它始終具有相同的大?。?/p>


shelf = shelve.open('shelf')

shelf.clear()

shelf['0'] = list(range(10000))

shelf.close()

更新: dbm.dumb,它shelve使用與Windows下的底層數(shù)據(jù)庫,包含此TODO項目在其代碼:


回收可用空間(當前,一旦被刪除或擴展的項目占用的空間就永遠不會重復使用)

這解釋了不斷增長的架子文件問題。


因此,而不是dict.clear(),我使用的是shelve.open帶flag='n'。報價shelve.open()文件:


可選的flag參數(shù)與dbm.open()的flag參數(shù)具有相同的解釋。


和dbm.open()文檔為flag='n':


始終創(chuàng)建一個新的空數(shù)據(jù)庫,以供讀取和寫入


如果架子已經(jīng)打開,則用法為:


shelf.close()

shelf = shelve.open('shelf', flag='n')


查看完整回答
反對 回復 2021-04-06
?
qq_遁去的一_1

TA貢獻1725條經(jīng)驗 獲得超8個贊

這些都不是真正有效的方法我最終要做的是創(chuàng)建一個處理文件刪除的功能。


import shelve

import pyperclip

import sys

import os


mcbShelf = shelve.open('mcb')

command = sys.argv[1].lower()


def remove_files():

    mcbShelf.close()

    os.remove('mcb.dat')

    os.remove('mcb.bak')

    os.remove('mcb.dir')


if command == 'save':

    mcbShelf[sys.argv[2]] = pyperclip.paste()

elif command == 'list':

    pyperclip.copy(", ".join(mcbShelf.keys()))

elif command == 'del':

    remove_files()

else:

    pyperclip.copy(mcbShelf[sys.argv[1]])


mcbShelf.close()


查看完整回答
反對 回復 2021-04-06
  • 3 回答
  • 0 關注
  • 233 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網(wǎng)微信公眾號