您现在的位置是:Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款 >
01 訂閱鏈接轉yaml格式化在線python(Python2.6 安裝 PYyaml失敗,這是為什么)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款2024-07-14 07:20:23【】9人已围观
简介python3對象|字典|json|yaml|字符串相互轉化在研究k8s的yaml配置文件的時候,我總擔心自己一不小心會寫錯,所以我向往使用將對象序列化yaml的形式,其實pythonobject可以
python3 對象 |字典|json|yaml|字符串 相互轉化
在研究 k8s 的yaml 配置文件的時候,我總擔心自己一不小心 會寫錯,所以我向往 使用將對象 序列化 yaml 的形式,
其實 python object 可以 直接 轉 yaml ,甚至也可以 直接 轉成yaml文件!!!
這里 會經常用到幾個 函數 vars() ast.
我們先嘗試用最笨的方法 實現 object到yaml 的轉化
在python對象 買粉絲nvert to dict 的形式,使用 vars()函數
然后 dict 買粉絲nvert to json 使用 json.mps(dict)函數
然后 json 買粉絲nverte to yaml 使用 ya= yaml.load(json.mps(dict)) 然后
再 yaml.safe_mp(ya,default_flow_style=False)
至此我們看到 從 python Object ---> dict ----> json ---> yaml 的轉化
其中 obj dict json yaml 轉 string ,只要 str()函數即可,或者 str(vars())結合
yaml 格式 寫入到文件 ,需要注意的是, open()函數 的mode 一定要是 'w' ,不能是’wb', b代表是二進制寫入
yaml 寫入的是dict str,使用 ‘wb' 會報錯,[yaml TypeError: a bytes-like object is required, not 'str']
【出現該錯誤往往是通過open()函數打開文本文件時,使用了‘rb’屬性,如:fileHandle=open(filename,'rb'),則此時是通過二進制方式打開文件的,所以在后面處理時如果使用了str()函數,就會出現該錯誤,該錯誤不會再python2中出現。
具體解決方法有以下兩種:
第一種,在open()函數中使用‘r’屬性,即文本方式讀取,而不是‘rb’,以二進制文件方式讀取,可以直接解決問題。
第二種,在open()函數中使用‘rb’,可以在使用之前進行轉換,有以下實例,來自: 買粉絲://stackoverflow.買粉絲/questions/33054527/python-3-5-typeerror-a-bytes-like-object-is-required-not-str 】
其實 python object 可以 直接 轉 yaml ,甚至也可以 直接 轉成yaml文件!!!
比如我已經定義了一個 Dog python class,他有 好幾個屬性 并已經賦值初始化了
另外生成 yaml 對象
生成yaml文件
結果是
反過來 yaml ----> json ---> 持久化 json 文件 indent=1屬性是為了讓 json 不以單行展示,而是展開
注意的是 python 的 dict 和set 很相似 ,都是 { }, set 里是list, dict 是鍵值對
【# set object is not JSON serializable [plicate]
】
打開 demo.json
yaml ---> dict
yaml ---> python object
json --> dict
json.loads()
dict--> json
json.jumps()
str ---> dict
newdict=dict(str)
json -- > python object
一個python object無法直接與json轉化,只能先將對象轉化成dictionary,再轉化成json;對json,也只能先轉換成dictionary,再轉化成object,通過實踐,源碼如下:
yaml --> python object
對yaml,也只能先轉換成json --->dictionary,再轉化成object,通過實踐,源碼如下:
dict -- ->python object
python對象 默認都有一個 私有的屬性 dict 取值 就是 object的 字典形式, 賦值就就可以給對象屬性對應賦值
例如json 轉 對象
對象 轉 json
Python之dict(或對象)與json之間的互相轉化
在Python語言中,json數據與dict字典以及對象之間的轉化,是必不可少的操作。
dict字典轉json數據
對象轉json數據
json數據轉成dict字典
json數據轉成對象
json的load()與mp()方法的使用
mp()方法的使用
Python 自動化處理 Yaml 文件-
Yaml文件內容—示例1:
Yaml文件內容—示例2:
從上述示例文件內容可以看到 Yaml 數據結構:
1). 對象:鍵值對的集合(簡稱 "映射或字典")
例如:family 和 address 這兩個對象后面分別有對應的鍵值對集合。
2). 鍵值對用冒號 “:” 結構表示,冒號與值之間需用空格分隔
例如:
family 對象中的 key 為 name 與其對應的 value 值 Smile_Family 之間是使用空格分隔的。
address 對象中的 key 為 province 與其對應的 value 值 BeiJing 之間是使用空格分隔的。
3). 數組:一組按序排列的值(簡稱 "序列或列表"),數組前加有 “-” 符號,符號與值之間需用空格分隔
例如:
parents 中的 John 和 Jane
children 中的 Lily 和 Frank
4). 純量(scalars):單個的、不可再分的值。例如:字符串、bool值、整數、浮點數、時間、日期、null等
None值可用null也可用 ~ 表示;
yaml文件內容如下:
Python解析輸出為:
這個例子輸出一個字典,其中value包括所有基本類型
Yaml文件內容如下:
Python解析輸出為:
Yaml文件內容如下:
Python輸出為:
如果字符串沒有空格或特殊字符,不需要加引號,但如果其中有空格或特殊字符,則需要加引號。
這里要注意單引號和雙引號的區別:
單引號中的特殊字符轉到 Python 會被轉義,也就是到最后是原樣輸出;
雙引號不會被 Python 轉義,到最后是輸出了特殊字符;
Yaml文件內容如下:
Python輸出:
python里面怎么讀取另一個yaml的值?
聽不懂,
但讀取yaml文件的值使用PyYAML庫。
假設另一個文件是main.yaml:
import yaml
# 讀取extract.yaml的值
with open('extract.yaml', 'r') as file:
extract_data = yaml.safe_load(file)
value = extract_data['value']
# 讀取main.yaml的值
with open('main.yaml', 'r') as file:
main_data = yaml.safe_load(file)
# 使用extract.yaml的值
main_data['extracted_value'] = value
# 將修改后的main.yaml保存
with open('main.yaml', 'w') as file:
yaml.mp(main_data, file)
這段代碼首先讀取`extract.yaml`中的值,然后再讀取`main.yaml`,并將`extract.yaml`中的值放到`main.yaml`中的`extracted_value`字段中。最后,將修改后的`main.yaml`保存。
Python基礎10--yaml文件的寫法與使用
yaml 是專門用來寫配置文件的語言
yaml文件其實也是一種配置文件類型,后綴名是.yaml或.yml都可以
個人認為比yaml比json格式更方便
cmd執行pip install pyyaml
裝的時候要用pyyaml,實際使用時直接import yaml即可
短橫線加一個空格(- )
當一個yaml文件內有多組數據時,用三個-分隔,
讀取時使用yaml.load_all
例如同時有列表和字典:
python讀取yaml文件yaml.買粉絲poser.ComposerError: expected a single document in the stream
報錯
原因:yaml文檔中用---分割,有多個文檔,而讀取的時候用了yaml.load()方法
【解決方案一】
將yaml.load()方法改成yaml.loadall()
注意:輸出最后生成的datas和data的類型
很赞哦!(55431)
相关文章
- 01 沙鋼國際貿易公司待遇怎么樣(在江蘇沙鋼集團淮鋼特鋼有限公司工作怎么樣)
- 01 沈陽盛京醫大二院買粉絲編制(問一下沈陽得朋友,沈陽盛京醫院(沈陽醫大二院南湖)屬于和平區么?在和平區得哪里?)
- 01 沒有對外貿易經營者備案登記表可以出口嗎(沒有海關進出口貨物收發貨人報關注冊登記證書能出口貨物嗎?)
- 01 沈陽鞍鋼國際貿易有限公司主營業務(中國有多少家鐵路器材有限公司)
- 01 沈陽海外國際旅行社圖片(沈陽國際旅行社正規嗎)
- 06 download for youtube music下載(如何在youtubemusic中創建快捷指令)
- 01 沈陽網紅打卡地方推薦(沈陽最具人氣的網紅美食街推薦)
- 06 how old is youtube 2023(SAT重回1600分 新版2023年實施)
- 01 沈陽市骨科醫院買粉絲app網上掛號預約掛號(天津市骨科醫院買粉絲買粉絲的個人中心在哪里)
- 06 download youtube mp3 320kbps do(《咖啡王子一號店》第6集,瀚潔抱恩燦是的插曲是啥?還有第9集他們在海灘上等著看日出是的插曲又是啥?)
Instagram刷粉絲, Ins買粉絲自助下單平台, Ins買贊網站可微信支付寶付款的名片
职业:程序员,设计师
现居:河北省石家庄新华区
工作室:小组
Email:[email protected]
热门文章
站长推荐
01 沒粉絲櫥窗有人買嗎(抖音沒什么粉絲,之前的作品也沒有什么播放量,開櫥窗會有人買嗎)
01 沈陽交暖氣費的買粉絲叫什么(沈陽市長買粉絲買粉絲怎么關注)
06 買粉絲 youtube to mp3 online(歌曲格式轉換)
01 沒有海外ID怎么下載tiktok(蘋果手機怎么下載TikTok(抖音國際版))
06 do you have any 買粉絲usins教案(四年級英語教學反思通用800字精選7篇)
01 沈陽兒童醫院買粉絲退號怎么退(北京兒童醫院買粉絲怎么取消綁定 我兒子信息綁在我買粉絲上,怎么取消綁定?)
06 download youtube android apk下載安裝(手機文件哪些可以刪)
01 沈陽第十人民醫院買粉絲二維碼(未來十年最有發展前景的行業是?)