Python面試一百題 資料儲存

2021-10-02 20:29:24 字數 4121 閱讀 1103

讀取xml節點和屬性值

xml文件與字典之間的互相轉換

將json字串轉換為類的例項

將類的例項轉換為json字串

操作sqlite資料庫

操作mysql資料庫

orm框架

將xml文件儲存在mongodb資料庫

# 找product節點

id= item.findtext(

'id'

)# 找id節點裡的文字

name = item.findtext(

'name'

) price = item.findtext(

'price'

) uuid = item.get(

'uuid'

)# 獲得uuid屬性值

總結

# 字典轉xml

import dicttoxml

import os

from xml.dom.minidom import parsestring

d =[20,

'name',,

,]bxml = dicttoxml.dicttoxml(d, custom_root=

'person'

)xml = bxml.decode(

'utf-8'

)dom = parsestring(xml)

prettyxml = dom.toprettyxml(indent=

' '

)f =

open

('persons.xml'

,'w'

, encoding=

'utf-8'

)f.write(prettyxml)

f.close(

)# xml轉字典

總結

# 先用loads把type變為 'dict',再引入product類

print

(product.name)

print

(product.price)

# 方法二:建立轉換函式

defjson2product

(d):

return product(d)

product1 = json.loads(jsonstr, object_hook=json2product)

# json2product不能加(),否則為呼叫

print

(product1.name)

print

(product1.price)

總結

'特斯拉'

,100000,20

)def

product2dict

(obj)

:return

jsonstr = json.dumps(product, default=product2dict, ensure_ascii=

false

)print

(jsonstr)

jsonstr = json.dumps(product, default=product2dict, ensure_ascii=

true

)# 若改為true,則中文不會按原來輸出

# 問題二

f =open

('products.json'

,'r'

, encoding=

'utf-8'

)jsonstr = f.read(

)class

product

:def

__init__

(self, d)

: self.__dict__ = d

products = json.loads(jsonstr, object_hook=product)

for product in products:

print

(product.name)

jsonstr = json.dumps(products, default=product2dict, ensure_ascii=

false))

print

(jsonstr)

總結

寫一百題程式學Python 1 10

今天試著定了乙個小目標,今年6月份之前能依照可能不正常的python學習路線,循序漸進的寫出100題 幾年來看了很多方法,之前沉迷實驗室時候也學了一些py,結果最後因為用不上還是統統都忘記了,網上很多方法主要是提起興趣為主的。例如做個文字遊戲,猜數字一類。然而最後發現還是各型別公式,數學計算還有一些...

微軟面試一百題之5 查詢最小的 k 個元素

5.查詢最小的 k 個元素 題目 輸入 n 個整數,輸出其中最小的 k 個。例如輸入1,2,3,4,5,6,7 和8 這8 個數字,則最小的4 個數字為1,2,3 和4。基本思路 使用堆排序基本思想,對堆排序做小小修改,在堆排序的演算法中增加乙個變數k,表示只需要最小的k個數。那麼意味著在最初的小根...

程式設計師面試一百題 05 查詢最小的k個元素

1 題目 輸入n個整數,輸出其中最小的k個。2 示例 輸入1,2,3,4,5,6,7,8八個數,則最小的4個數為1,2,3,4。3 思路 3.1 最簡單的思路就是將n個數排序,然後取出最小的k個數,但是這樣的時間複雜度為o n logn 3.2 我們嘗試更快的思路。可以開闢乙個長度為k的陣列karr...