Saya perlu membaca, menulis dan membuat file INI dengan Python3.
FILE.INI
default_path = "/path/name/"
default_file = "file.txt"
File Python:
# Read file and and create if it not exists
config = iniFile( 'FILE.INI' )
# Get "default_path"
config.default_path
# Print (string)/path/name
print config.default_path
# Create or Update
config.append( 'default_path', 'var/shared/' )
config.append( 'default_message', 'Hey! help me!!' )
FILE.INI DIPERBARUI
default_path = "var/shared/"
default_file = "file.txt"
default_message = "Hey! help me!!"
python
python-3.x
ini
Olaf
sumber
sumber
[foobar]
.Jawaban:
Ini bisa menjadi sesuatu untuk memulai:
Anda dapat menemukan lebih lanjut di dokumentasi configparser resmi .
sumber
configparser.MissingSectionHeaderError
saat menggunakan file contoh yang disediakan tanpa header bagian yang sesuai.Berikut adalah contoh lengkap membaca, memperbarui, dan menulis.
File masukan, test.ini
Kode kerja.
File keluaran, test_update.ini
File masukan asli tetap tidak tersentuh.
sumber
read
metode ini sekarang mengembalikan daftar file / file yang telah dibaca, tetapi bukan kontennyahttp://docs.python.org/library/configparser.html
Pustaka standar Python mungkin bisa membantu dalam kasus ini.
sumber
Standar
ConfigParser
biasanya membutuhkan akses viaconfig['section_name']['key']
, yang tidak menyenangkan. Sedikit modifikasi dapat memberikan akses atribut:AttrDict
adalah kelas turunandict
yang memungkinkan akses melalui kunci kamus dan akses atribut: itu artinyaa.x is a['x']
Kita dapat menggunakan kelas ini di
ConfigParser
:dan sekarang kita mendapatkan
application.ini
:sebagai
sumber
config._sections.general.key = "3"
ini tidak mengubah nilai internal opsi konfigurasi dan oleh karena itu hanya dapat digunakan untuk akses hanya baca. Jika setelah.read()
perintah konfigurasi diperpanjang atau diubah (tambahkan opsi, pasangan nilai untuk beberapa bagian, -> yang melakukan interpolasi yang mungkin sangat penting) metode akses ini tidak boleh digunakan! Juga akses apa punconfig._sections["section"]["opt"]
yang privatnya mengelak interpolasi dan mengembalikan nilai mentah!ConfigObj adalah alternatif yang baik untuk ConfigParser yang menawarkan lebih banyak fleksibilitas:
Ini memiliki beberapa kekurangan:
=
… ( pull request )fuabr =
alih-alih hanyafubar
yang terlihat aneh dan salah.sumber
konten di file backup_settings.ini saya
kode python untuk membaca
untuk menulis atau memperbarui
keluaran
sumber