作者piligo (霹靂狗)
看板Python
標題Re: [問題] read() {"\"AAA\""}如何轉成{'"AAA"'}
時間Sat Oct 31 12:45:41 2020
※ 引述《piligo (霹靂狗)》之銘言:
: 標題: [問題] read() {"\"AAA\""}如何轉成{'"AAA"'}
: 時間: Sat Oct 31 02:35:50 2020
:
: print(bbb)
: 會得到{"NAME": "\"AAA\""}
:
: 這部分要怎麼加工才能轉成{'NAME': '"AAA"'}呢
:
: 我嘗試用replace('')但組合不出來 @@
:
: 謝謝
:
: --
: ※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.182.105.54 (臺灣)
: ※ 文章網址: https://www.ptt.cc/bbs/Python/M.1604082952.A.463.html
: ※ 編輯: piligo (175.182.105.54 臺灣), 10/31/2020 02:46:24
: → blc: "'"+bbb.replace(r'\','')+"'" 試試看? 10/31 03:49
: → blc: 啊,搞錯了。 bbb.replace(r'\"','').replace('"',"'") 10/31 03:50
: → LP9527: bbb=bbb.replace('"','\'').replace("\\'",'"') 10/31 04:07
感謝blc與LP9527
blc的寫法會只剩單引號 {'NAME': 'AAA'}
LP9527的寫法產出結果跟{'NAME': '"AAA"'}一樣
但結果還是失敗,我以為requests.get失敗是因為引號的關係造成
結果修正後還是有這些錯誤,這是什麼原因呢 謝謝
Traceback (most recent call last):
File "D:\test.py", line 15, in <module>
r = requests.get(url,cookies=bbb)
File "C:\Python38-32\lib\site-packages\requests\api.py", line 72, in get
return request('get', url, params=params, **kwargs)
File "C:\Python38-32\lib\site-packages\requests\api.py", line 58, in request
return session.request(method=method, url=url, **kwargs)
File "C:\Python38-32\lib\site-packages\requests\sessions.py", line 509, in
request
prep = self.prepare_request(req)
File "C:\Python38-32\lib\site-packages\requests\sessions.py", line 419, in
prepare_request
cookies = cookiejar_from_dict(cookies)
File "C:\Python38-32\lib\site-packages\requests\cookies.py", line 516, in
cookiejar_from_dict
cookiejar.set_cookie(create_cookie(name, cookie_dict[name]))
TypeError: string indices must be integers
--
※ 發信站: 批踢踢實業坊(ptt.cc), 來自: 175.181.213.81 (臺灣)
※ 文章網址: https://www.ptt.cc/bbs/Python/M.1604119543.A.F9B.html
推 LP9527: xd你要轉rq你要先講啊 10/31 13:12
→ LP9527: 去估狗json load跟dump 10/31 13:12
→ piligo: 感謝~來爬文 因為我把json直接放py內可以執行 以為是引號 10/31 15:03
→ piligo: json.loads成功了 不過我把json.loads過的data print出來 10/31 15:52
→ piligo: 內容也是跟replace()完的一模一樣 ??? 這是什麼魔術 10/31 15:53
推 LP9527: type() 10/31 16:52
→ piligo: 原來如此 type後 才知道一個是str 一個是dict 謝謝 10/31 17:00