[過去ログ] くだすれPython(超初心者用) その48【まず1嫁】 (1002レス)
前次1-
抽出解除 必死チェッカー(本家) (べ) 自ID レス栞 あぼーん

このスレッドは過去ログ倉庫に格納されています。
次スレ検索 歴削→次スレ 栞削→次スレ 過去ログメニュー
59
(1): デフォルトの名無しさん [sage] 2020/05/21(木) 09:13:41.91 ID:GZ6MaQ/i(1/5) AAS
以下のようなmapがあったときに
map全体を文字列に変換しようと思ったら普通にstr()で型変換してあげれば大丈夫ですか?

testMaps = {'test': {'aaa': 'bbb', 'ccc': 0.0, 'ddd': 0.0}}
print("testMaps is " + str(testMaps))

テストしてみたら問題なく動いたんですが、ちょっと不安なので質問させてください。
61: デフォルトの名無しさん [sage] 2020/05/21(木) 09:52:35.31 ID:GZ6MaQ/i(2/5) AAS
>>60
ありがとうございます。
テキストファイルに設定を保存するために文字列にしたいだけなので、dictじゃなくなっても大丈夫です。
ただ、何らかのエラーが出ないか心配だったので質問しました。

後から文字列を読み込みなおしてdict形式に戻せればいいので、json.loads()などで戻せれば大丈夫かと思っています。
何かおかしな点があったら教えて欲しいです。
63: デフォルトの名無しさん [sage] 2020/05/21(木) 10:14:01.48 ID:GZ6MaQ/i(3/5) AAS
こんな感じにしたらいいんですかね?
json.dumps()だけで良くて、str()は必要ないですか?
json.dumps()っていうのが何をやっているものなのかよく分からないんですが…

import json
testDict = {'test': {'aaa': 'bbb', 'ccc': 0.0, 'ddd': 0.0}}

testDumpDict = json.dumps(testDict)
print("testDumpDict is " + testDumpDict) #dump

testStrDict = str(testDumpDict)
print("testStrDict is " + testStrDict) #str

test = json.loads(testStrDict) #loads
print(test["test"]["aaa"])
64
(1): デフォルトの名無しさん [sage] 2020/05/21(木) 10:19:07.08 ID:GZ6MaQ/i(4/5) AAS
json.dumps()を使って文字列にした場合と、str()を使って文字列にした場合で
一体何が違うのかよく分からないんですが、よく分からなくても素直にjson.dumps()を使っておけば良いという感じなんでしょうか?

下のコードだとエラーになってしまうのですが、json.dumps()を使った場合との違いがよく判らないなと思って…

import json
testDict = {'test': {'aaa': 'bbb', 'ccc': 0.0, 'ddd': 0.0}}
testStrDirectDict = str(testDict)
test = json.loads(testStrDirectDict)
print(test["test"]["aaa"])
65: デフォルトの名無しさん [] 2020/05/21(木) 10:29:36.83 ID:GZ6MaQ/i(5/5) AAS
こういうことか...
シングルクオートとダブルクオートの違いなんですね
https://ja.stackoverflow.com/questions/42268/str-%E3%81%A7%E6%96%87%E5%AD%97%E5%88%97%E3%81%AB%E3%81%97%E3%81%9F-python-%E3%81%AE%E3%82%AA%E3%83%96%E3%82%B8%E3%82%A7%E3%82%AF%E3%83%88%E3%81%8C-json-loads-%E3%81%A7%E6%88%BB%E3%81%9B%E3%81%AA%E3%81%84
前次1-
スレ情報 赤レス抽出 画像レス抽出 歴の未読スレ AAサムネイル

ぬこの手 ぬこTOP 0.033s