當前位置:首頁 » 編程語言 » shelvepython

shelvepython

發布時間: 2022-08-10 23:18:25

1. windows7 python3.6環境下 shelve模塊在腳本運行時報錯

shelve是一個對象持久化保存方法,將對象保存到文件裡面,一般來說對象的保存和恢復都是通過shelve來進行的。
你的問題是test.txt已經存在,並且格式與shelve不符,所以提示 "db type could not be determined"
解決方法: 刪除/home/luo/python/test.txt文件,首次運行後會自動生成該文件。
另外,預設方式數據文件是二進制的,最好不要用txt結尾來誤導別人。

2. python寫一個文件 記錄一個list里數字的大小位置 從大到小 不能用內置函數和sorted

根據列表的長度n生成一個0到n序列號的列表。

然後使用冒泡排序的方法同時對兩個列表排序,排序完成後,序列列表就是你要的。

至於寫入文件,可以使用open按一般文件內容寫入。

但保存的只是一個列表變數,適合使用shelve來保存為data文件,所以使用shelve.open來保存數據。


import shelve

def orderIndex(nums=[]):

n=len(nums)

index=0

indexs=[]

for i in range(n):

indexs.append(index)

index=index+1

for i in range(n):

for j in range(i+1,n):

if(nums[i]<nums[j]):

nSave=nums[i]

nums[i]=nums[j]

nums[j]=nSave

iSave=indexs[i]

indexs[i]=indexs[j]

indexs[j]=iSave

return indexs

print("請輸入一列數字,逗號分割 :")

nums=input().split(',')

print("從大到小排序後的序列為 :")

indexs=orderIndex(nums)

print(indexs)

shelFile=shelve.open('C:mydata')

shelFile['indexs']=indexs

shelFile.close()

print("序列已保存至文件 :C:mydata中")

3. source1是《python基礎教程》上的一個例子,關於shelve模塊的,求大俠解釋下.

Python文檔中有提到這一點(詳見shelve模塊文檔):
Because of Python semantics, a shelf cannot know when a mutable persistent-dictionary entry is modified. By default modified objects are written only when assigned to the shelf.


大致意思如下:
一個shelf(對象)無法知道什麼時候其中一個可變的項被修改了。默認情況下,一個被修改過的對象只有重新賦給shelf對象,這些更改才會生效。


Python文檔中也給出了兩種解決方案:


第一種:
把修改過的對象賦給shelve對象:

s['x']=s['x'].append('d')

或者,更清晰的形式:

temp=s['x']#得到s['x']的拷貝,即一個mutable的列表對象
temp.append('d')#在這個列表對象上進行append操作
s['x']=temp#重新寫回去

第二種:

s=shelve.open('temp.dat',writeback=True)#指定writeback為True,默認為False
s['x']=['a','b','c']
s['x'].append('d')
s.close()

這樣,你要訪問的entry就會cached in memory,並在你調用sync或close方法的時候寫入文件。

4. python shelve模塊

應該是你的文件命名問題,不要命名為shelve.py
這樣的話,你import載入的是你本身的文件,你的文件並沒有open這個屬性

5. Python 入門需要學些什麼

Python相對比較簡單,零基礎也能學。系統學習的話,一般4-6個月左右能學好。

建議大家可以從以下三方面來入手:

①先自學一些python書籍

大家可以從書中了解一些基礎知識,建立一些編程認知。

但是這樣的方式,還是難免會因為沒什麼基礎很快就覺得枯燥了,所以在書籍方面還是建議大家結合視頻課程一起來學習,才能更高效一點。

②網上找相關課程

在mooc網學習的是北京理工大學的一門python公開課,整個流程學習下來能夠了解一些基礎相關,但課程比較淺顯,還是感覺有些不系統,也很難靠自學迅速入門。

③報班學習

很多人對網上報班有些排斥,因為難免會覺得會被割韭菜。但是對於零基礎的小白學習python編程而言,跟著專業系統化一點的團隊一起學習,勢必會更省時省力一點的。

畢竟我們沒有基礎,靠自學又沒啥時間去堅持,能有合適的【線上陪伴式】的課程,還是挺值得一試的。建議大家可以先從體驗課開始,了解清楚課程含金量,看看往期學員的體驗回饋後再報班學習。

Python的學習學習順序如下:

①Python軟體開發基礎

②Python軟體開發進階

③Python全棧式WEB工程師

④Python多領域開發

互聯網行業目前還是最熱門的行業之一,學習IT技能之後足夠優秀是有機會進入騰訊、阿里、網易等互聯網大廠高薪就業的,發展前景非常好,普通人也可以學習。

想要系統學習,你可以考察對比一下開設有相關專業的熱門學校,好的學校擁有根據當下企業需求自主研發課程的能力,能夠在校期間取得大專或本科學歷,中博軟體學院、南京課工場、南京北大青鳥等開設相關專業的學校都是不錯的,建議實地考察對比一下。

祝你學有所成,望採納。

6. python shelve沒有open函數了

應該是你的文件命名問題,不要命名為shelve.py
這樣的話,你import載入的是你本身的文件,你的文件並沒有open這個屬性

7. Python需要掌握的庫,都有那些啊

1、Matplotlib:用於創建二維圖和圖形的底層庫,有了它的幫助,你可以構建各種不同的圖標,從直方圖到散點圖再到費笛卡爾坐標圖,它都可以與很多流行的繪圖庫結合使用。
2、Seaborn:包含更適合處理圖標的默認設置,此外還有豐富的可視化庫,包含一些復雜類型,比如說時間序列、聯合分布圖等。
3、Plotly:一個很流行的庫,可以讓你輕松構建復雜的圖形,該軟體包含用於互動式web應用程,可實現輪廓圖、三元圖以及三維圖等效果。
4、Pydot:純Python編寫的Graphviz介面,經常用於生產復雜的定向圖和無向圖,能夠顯示圖形的結構,構建神經網路和基於決策樹的演算法時非常有效。
5、pyecharts:功能非常強大,支持多達400+地圖,支持JupyterNotebook、JupyterLab,可以集成Flask,Sanic,Django等主流Web框架。
6、cufflinks:結合了plotly的強大功能和panda的靈活性,可以方便地進行繪圖,避免了數據可視化過程中,對數據存儲結構和數據類型進行復雜的麻煩。

8. python 用shelve讀取.dat文件中文亂碼問題

  1. 「得到的結果是'xb2xe2xcaxd4,並不是我想要的中文」 =》其實,你看到的'xb2xe2xcaxd4『,就已經是你想要的中文了。只不過是GBK編碼的,所以顯示出來的是'測試'這兩個中文字元所對應的GBK編碼的內部的值而已

    如果你想要顯示出中文字元,而非內部值的話,可以,先將其轉換為Unicode,就可以看到中文了:

    decodedName=Database['name'].decode("GBK")
    print"decodedName=",decodedName#decodedName=測試


  2. 註:

    1.不要用那個IDLE,不好用,容易讓你誤解。

    2.在直接在cmd下測試即可。

  3. 更多的,極其詳盡的解釋,我專門為你寫了教程了。你一看就懂了:

    【整理】Python中實際上已經得到了正確的Unicode或某種編碼的字元,但是看起來或列印出來卻是亂碼

    (google搜標題即可找到我的帖子了)

9. Python使用shelve文件,運行了幾次後文件體積突然增加一倍,每次存最新的

這個應用可以使用JavaConfig完成配置。我把它切分為下面幾個部分:
ServicesConfig(服務配置)
無需掃描組件,配置真的非常簡單:

@Configuration
public class ServicesConfig {
@Autowired
private AccountRepository accountRepository;

@Bean
public UserService userService() {
return new UserService(accountRepository);
}

熱點內容
手寫輸入演算法 發布:2024-04-20 08:29:31 瀏覽:257
朝夕源碼 發布:2024-04-20 08:24:15 瀏覽:275
minilinux 發布:2024-04-20 08:23:38 瀏覽:49
大學php開發培訓 發布:2024-04-20 08:04:35 瀏覽:987
小米2s存儲設置 發布:2024-04-20 07:58:38 瀏覽:900
株洲移動網路伺服器地址 發布:2024-04-20 07:45:48 瀏覽:689
119濃度的鹽酸怎麼配置 發布:2024-04-20 06:23:38 瀏覽:119
資料庫pf 發布:2024-04-20 05:57:36 瀏覽:393
c語言編譯出現連接錯誤 發布:2024-04-20 05:42:18 瀏覽:198
湖北戴爾伺服器維修系統雲主機 發布:2024-04-20 05:36:47 瀏覽:62