だから、別のファイルに2つの異なる文字列を取得する必要があるjsonファイルがあります。 最初のファイルはファイルに保存されますが、2番目のファイルは保存されません。同じjson(dict)ファイルをforループで2回繰り返します。
私は研究をしましたが、私はファイルポインタを最初に戻す必要があることを知っています。しかし、私はちょうどそれを行う方法を知らない。私はこのエラーを取得しますので:
Traceback (most recent call last):
File "v4.py", line 65, in <module>
data.seek(0,0)
AttributeError: 'str' object has no attribute 'seek'
あなたはJSON(辞書)新しい検索を開始するためにファイルを移動するにはどうすればよい.seek(0)
with open('idd.json', 'r') as data_file:
data = json.load(data_file)
with open('id.txt','w') as outfile:
for data, lokaatio in data[0].items():
if data=='id':
print(lokaatio, file=outfile)
data.seek(0,0)
with open('type.txt','w') as outfiles:
for data, type in data[0].items():
if data=='fileType':
print(type, file=outfiles)
でそれをバックに移動しようとしている。..
更新:
ここでエラーはありませんが、2番目のファイルは空のままです。 (短縮されたコード行ありがとう!)
pythonではfileTypeが見つかりませんでした。私のファイルに何か問題があるという唯一の解決策はありますか?
[{'ID': 'BDB-0bxGag9AL_C4xB0hlM'、 'のversionNumber':1}、{ 'widthMm':127.0、 'heightIn':5.0、 '幅' 1500}、それは次のように約見えます、{ '文書ID': 'xmp.483a0ab5'、'たfileType': 'JPEG'、 'heightMm':127.0}、 '権限': 'rx--'}]
問題は 'for data、lokaatio in ...'です。データ変数名を再利用して、古いものを上書きします。もともとは辞書を持っていたので、シーク(0)の必要はありません。 – RemcoGerlich
'data'はファイルオブジェクトではありません。 'for'ループの中で名前を再利用するだけで、文字列にバインドすることができます。 –
ファイルから読み込まれた 'data'の後に' print(data) 'を追加して結果を投稿できますか? – kvorobiev