最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

解決pycharm編輯區(qū)顯示yaml文件層級結(jié)構(gòu)遇中文亂碼問題

 更新時間:2020年04月27日 09:29:06   作者:bubblelone  
這篇文章主要介紹了解決pycharm編輯區(qū)顯示yaml文件層級結(jié)構(gòu)遇中文亂碼問題,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧

1、問題現(xiàn)象:

2、解決辦法:

editor的字體設(shè)置為DialogInput

補充知識:Python +Selenium 支持多項目集中配置文件管理Yaml

在自動化測試項目管理經(jīng)常會遇到2個問題:

1.我手頭上有多個需要做自動化的項目,我每個項目都要新建一個項目文件嗎?

2.一些基礎(chǔ)的配置信息如何高效的進行管理?

爭對這2個問題,這邊采用了Yaml 進行配置文件的一個管理:YAML 是一種簡潔的非標(biāo)記語言。YAML以數(shù)據(jù)為中心,使用空白,縮進,分行組織數(shù)據(jù),從而使得表示更加簡潔易讀。

基本規(guī)則

YAML有以下基本規(guī)則:

1、大小寫敏感

2、使用縮進表示層級關(guān)系

3、禁止使用tab縮進,只能使用空格鍵

4、縮進長度沒有限制,只要元素對齊就表示這些元素屬于一個層級。

5、使用#表示注釋

6、字符串可以不用引號標(biāo)注

其他具體的語法需要大家百度一下下了!我們直接上源碼!

給個文件試例:如圖右3個項目配置文件(apk;cm,gf),一個整體配置文件

讀取文件源碼:(file_reader.py)里面還可以放入其它文件類型的讀取方法(后話)

""
文件讀取。YamlReader讀取yaml文件
"""
import yaml
import os
from xlrd import open_workbook
class YamlReader:
 def __init__(self, yamlf):
  if os.path.exists(yamlf):
   self.yamlf = yamlf
  else:
   raise FileNotFoundError('文件不存在!')
  self._data = None
 @property
 def data(self):
  # 如果是第一次調(diào)用data,讀取yaml文檔,否則直接返回之前保存的數(shù)據(jù)
  if not self._data:
   with open(self.yamlf, 'rb') as f:
    self._data = list(yaml.safe_load_all(f)) # load后是個generator,用list組織成列表
  return self._data

之后就是我們不同的調(diào)用了:(config.py)

"""
讀取配置。這里配置文件用的yaml,也可用其他如XML,INI等,需在file_reader中添加相應(yīng)的Reader進行處理。
"""
import os
from util_s.file_reader import YamlReader
 
# 通過當(dāng)前文件的絕對路徑,其父級目錄一定是框架的base目錄,然后確定各層的絕對路徑。如果你的結(jié)構(gòu)不同,可自行修改。
# 之前直接拼接的路徑,修改了一下,用現(xiàn)在下面這種方法,可以支持linux和windows等不同的平臺,也建議大家多用os.path.split()和os.path.join(),不要直接+'\\xxx\\ss'這樣
BASE_PATH = os.path.split(os.path.dirname(os.path.abspath(__file__)))[0]
CONFIG_FILE = os.path.join(BASE_PATH, 'Config', 'config.yml')
GF_CONFIG_FILE = os.path.join(BASE_PATH, 'Config', 'gf_config.yml')
CM_CONFIG_FILE = os.path.join(BASE_PATH, 'Config', 'cm_config.yml')
APK_CONFIG_FILE = os.path.join(BASE_PATH, 'Config', 'apk_config.yml')
 
class Config:
 def __init__(self, config=""):
  if config == "gf":
   self.config = YamlReader(GF_CONFIG_FILE).data
  if config == "cm":
   self.config = YamlReader(CM_CONFIG_FILE).data
  if config == "apk":
   self.config = YamlReader(APK_CONFIG_FILE).data
  else:
   self.config = YamlReader(CONFIG_FILE).data
 
 def get(self, element, index=0):
  """
  yaml是可以通過'---'分節(jié)的。用YamlReader讀取返回的是一個list,第一項是默認的節(jié),如果有多個節(jié),可以傳入index來獲取。
  這樣我們其實可以把框架相關(guān)的配置放在默認節(jié),其他的關(guān)于項目的配置放在其他節(jié)中。可以在框架中實現(xiàn)多個項目的測試。
  """
  return self.config[index].get(element)

最后就是每次使用的方法啦?。ㄔ谄渌]件相關(guān)文章中有用到)

from util_s.config import Config
 
config = Config("gf")
mail_host = config.get("mail_host")
my_sender = config.get("my_sender") # 發(fā)件人郵箱賬號
my_pass = config.get("my_pass") # 發(fā)件人郵箱密碼
my_user = config.get("my_user") # 收件人郵箱賬號,我這邊發(fā)送給自己

具體Yaml 文件內(nèi)容貼圖一個

以上這篇解決pycharm編輯區(qū)顯示yaml文件層級結(jié)構(gòu)遇中文亂碼問題就是小編分享給大家的全部內(nèi)容了,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關(guān)文章

  • Pandas自定義shift與DataFrame求差集的小技巧

    Pandas自定義shift與DataFrame求差集的小技巧

    Python是進行數(shù)據(jù)分析的一種出色語言,主要是因為以數(shù)據(jù)為中心的python軟件包具有奇妙的生態(tài)系統(tǒng),下面這篇文章主要給大家介紹了關(guān)于Pandas自定義shift與DataFrame求差集的相關(guān)資料,需要的朋友可以參考下
    2022-02-02
  • Python字符串處理實例詳解

    Python字符串處理實例詳解

    這篇文章主要介紹了Python字符串處理實例詳解的相關(guān)資料,需要的朋友可以參考下
    2017-05-05
  • Python中l(wèi)azy property的兩種方法小結(jié)

    Python中l(wèi)azy property的兩種方法小結(jié)

    本文介紹了Python中實現(xiàn)延遲屬性lazyproperty的兩種方法,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧
    2025-01-01
  • 使用Python編寫電腦定時關(guān)機小程序

    使用Python編寫電腦定時關(guān)機小程序

    這篇文章主要為大家詳細介紹了如何使用Python編寫電腦定時關(guān)機小程序,文中的示例代碼講解詳細,感興趣的小伙伴可以跟隨小編一起學(xué)習(xí)一下
    2024-01-01
  • python中zip()函數(shù)遍歷多個列表方法

    python中zip()函數(shù)遍歷多個列表方法

    在本篇文章里小編給大家整理的是一篇關(guān)于python中zip()函數(shù)遍歷多個列表方法,對此有興趣的朋友們可以學(xué)習(xí)下。
    2021-02-02
  • Odoo中如何生成唯一不重復(fù)的序列號詳解

    Odoo中如何生成唯一不重復(fù)的序列號詳解

    這篇文章主要給大家介紹了關(guān)于Odoo中如何生成唯一不重復(fù)的序列號的相關(guān)資料,文中通過示例代碼介紹的非常詳細,對大家的學(xué)習(xí)或工作具有一定的參考學(xué)習(xí)價值,需要的朋友們下面隨著小編來一起學(xué)習(xí)學(xué)習(xí)吧。
    2018-02-02
  • python模擬表單提交登錄圖書館

    python模擬表單提交登錄圖書館

    這篇文章主要為大家詳細介紹了python模擬表單提交登錄圖書館的實現(xiàn)方法,具有一定的參考價值,感興趣的小伙伴們可以參考一下
    2018-04-04
  • Django的分頁器實例(paginator)

    Django的分頁器實例(paginator)

    下面小編就為大家分享一篇Django的分頁器實例(paginator),具有很好的參考價值,希望對大家有所幫助
    2017-12-12
  • pandas中Series的使用方式

    pandas中Series的使用方式

    這篇文章主要介紹了pandas中Series的使用方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教
    2023-09-09
  • Python使用minidom讀寫xml的方法

    Python使用minidom讀寫xml的方法

    這篇文章主要介紹了Python使用minidom讀寫xml的方法,實例分析了使用minidom模塊操作XML文件的相關(guān)技巧,需要的朋友可以參考下
    2015-06-06

最新評論

二手房| 东丰县| 山西省| 静海县| 宿州市| 嵊泗县| 宁津县| 仲巴县| 延长县| 麻栗坡县| 镇平县| 东平县| 昌都县| 稻城县| 怀化市| 永丰县| 桦南县| 新闻| 邮箱| 临高县| 榆林市| 建始县| 汨罗市| 铁岭市| 册亨县| 通许县| 南宫市| 白银市| 福海县| 台中市| 台前县| 吴桥县| 兴业县| 随州市| 莎车县| 西峡县| 吉木萨尔县| 建昌县| 巴南区| 建平县| 成武县|