Rumah > pembangunan bahagian belakang > Tutorial Python > Bagaimanakah Saya Boleh Menukar Perwakilan Rentetan Kamus kepada Kamus Python dengan Selamat?

Bagaimanakah Saya Boleh Menukar Perwakilan Rentetan Kamus kepada Kamus Python dengan Selamat?

DDD
Lepaskan: 2024-12-29 06:08:11
asal
841 orang telah melayarinya

How Can I Safely Convert a String Representation of a Dictionary to a Python Dictionary?

Menukar Perwakilan Rentetan Kamus kepada Kamus

Selalunya, kita mungkin perlu menukar perwakilan rentetan kamus, seperti yang diberikan di bawah, ke dalam kamus sebenar.

s = "{'muffin' : 'lolz', 'foo' : 'kitty'}"
Salin selepas log masuk

Adalah lebih baik untuk mengelak daripada menggunakan eval untuk penukaran sedemikian kerana keselamatan kebimbangan. Berikut ialah beberapa alternatif yang lebih selamat:

Menggunakan ast.literal_eval:

Modul ast Python menyediakan fungsi yang mudah dipanggil literal_eval yang direka khusus untuk menilai rentetan ekspresi dengan selamat.

import ast
dict_from_string = ast.literal_eval("{'muffin' : 'lolz', 'foo' : 'kitty'}")
Salin selepas log masuk

Kaedah ini hanya membenarkan penilaian literal dan ungkapan mudah, menjadikan ia lebih selamat daripada eval.

Kelebihan ast.literal_eval:

Tidak seperti eval, ast.literal_eval mengehadkan penilaian kepada set literal Python yang terhad, yang menghalang potensi risiko keselamatan yang dikaitkan dengan pelaksanaan kod arbitrari.

Atas ialah kandungan terperinci Bagaimanakah Saya Boleh Menukar Perwakilan Rentetan Kamus kepada Kamus Python dengan Selamat?. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!

sumber:php.cn
Kenyataan Laman Web ini
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn
Tutorial Popular
Lagi>
Muat turun terkini
Lagi>
kesan web
Kod sumber laman web
Bahan laman web
Templat hujung hadapan