通過複製文本轉化哈希形式保存的簡易腳本實現

-腳本背景
在項目實戰過程中,經常遇到文本轉化爲哈希表的問題,由於沒有現成的 庫,導致文本轉化過程非常浪費時間,今天下午抽時間寫了小工具,希望能夠幫助簡化轉化流程,同時也可以適當進行修改作爲json操作

  • 轉化前的文本形式
    在這裏插入圖片描述
  • 轉化後的字典形式
{'RequestURL': 'https://ss1.bdstatic.com/5eN1bjq8AAUYm2zgoY3K/r/www/cache/static/protocol/https/amd_modules/@baidu/search-sug_0a72570.js', 'RequestMethod': 'GET', 'StatusCode': '200(frommemorycache)', 'RemoteAddress': '111.19.218.32:443', 'ReferrerPolicy': 'unsafe-url', 'accept-ranges': 'bytes', 'age': '719803', 'cache-control': 'max-age=315360000', 'content-encoding': 'gzip', 'content-length': '11108', 'content-type': 'application/javascript', 'date': 'Fri,01Nov201913:53:46GMT', 'etag': '"8e2d-595933a09b880"', 'expires': 'Sun,21Oct202905:57:03GMT', 'last-modified': 'Wed,23Oct201912:40:50GMT', 'ohc-cache-hit': 'xy2cm85[4]', 'ohc-response-time': '100000', 'server': 'JSP3/2.0.14', 'status': '304', 'vary': 'Accept-Encoding,User-Agent', 'Referer': 'https://www.baidu.com/', 'User-Agent': 'Mozilla/5.0(WindowsNT10.0;Win64;x64)AppleWebKit/537.36(KHTML,likeGecko)Chrome/78.0.3904.87Safari/537.36'}
  • 源代碼
import re
class SyntheticTodict(object) :
    def _Syntheticdict(self,result = { }):
        lines = self.SyntheticdictMain.__doc__.lstrip().rstrip().split("\n")
        for line in lines :
            line = re.sub("[\n]","",line.replace(" ","")).split(":",maxsplit=1)
            keys,vals= line[0],line[1]
            result[keys] = vals
        return result
    def SyntheticdictMain(self):  #調用接口
        return  self._Syntheticdict()
  • 代碼接口調用:
  • 複製後的文本以多行註釋的形式保存,模板中要注意文本的格式標準,要對應keys : values形式,其他形式報錯
import re
class SyntheticTodict(object) :
    def _Syntheticdict(self,result = { }):
    		      ...
    def SyntheticdictMain(self):
        """
        RequestURL: https: // cpro.baidustatic.com / cpro / logo / css / logo - sm.css
        RequestMethod: GET
        StatusCode: 200(from memory cache)
        RemoteAddress: 111.20.242.35: 443
        ReferrerPolicy: no - referrer - when - downgrade
        """
        return  self._Syntheticdict()

if __name__ == "__main__" :
    res = SyntheticTodict()
    print(res.SyntheticdictMain())
 
#{'RequestURL': 'https://cpro.baidustatic.com/cpro/logo/css/logo-sm.css', 'RequestMethod': 'GET', 'StatusCode': '200(frommemorycache)', 'RemoteAddress': '111.20.242.35:443', 'ReferrerPolicy': 'no-referrer-when-downgrade'}
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章