จะเขียน py ธรรมดาอ่านไฟล์ config ทำยังไงค่ะ

ตอบกระทู้

รูปแสดงอารมณ์
:icon_plusone: :like: :plusone: :gfb: :-D :) :( :-o 8O :? 8) :lol: :x :P :oops: :cry: :evil: :twisted: :roll: :wink: :!: :?: :idea: :arrow: :| :mrgreen: :angry: :baa: :biggrin:
รูปแสดงอารมณ์อื่นๆ

BBCode เปิด
[img] เปิด
[url] เปิด
[Smile icon] เปิด

กระทู้แนะนำ
   

มุมมองที่ขยายได้ กระทู้แนะนำ: จะเขียน py ธรรมดาอ่านไฟล์ config ทำยังไงค่ะ

Re: จะเขียน py ธรรมดาอ่านไฟล์ config ทำยังไงค่ะ

โดย jirawoot » 30/04/2020 11:00 am

ให้สร้างไฟล์ .conf ขึ้นมาจากนั้นให้เขียนคำสั่ง
เช่น

โค้ด: เลือกทั้งหมด

[DB]
host=localhost
database=tool_videotogif
user=postgres
password=

[server]
host=127.0.0.1
port=5050
ลงในไฟล์ .conf ครับ
การเรียกใช้
เช่น

โค้ด: เลือกทั้งหมด

#!/usr/bin/env python2
# encoding: UTF-8
import configparser

con=None
config = configparser.ConfigParser()
config.read('<Path ไฟล์ .conf>')

server_host = config['server']['host']
db_name = config['DB']['database']

จะเขียน py ธรรมดาอ่านไฟล์ config ทำยังไงค่ะ

โดย thatsawan » 28/04/2020 4:42 pm

path file
D:\openerp-server.conf

โค้ด: เลือกทั้งหมด

[options]
addons_path  = C:\Program Files (x86)\...
admin_passwd = admin
csv_internal_sep = ,
db_host = localhost
db_maxconn = 64
db_name = False
db_password = openpgpwd
db_port = 5432
db_template = template1
path file
D:\update_seq.py

โค้ด: เลือกทั้งหมด

#!/usr/bin/env python2
# encoding: UTF-8
import psycopg2 as p ,configparser

con=None
config = configparser.ConfigParser()
config.read('openerp-server.conf')

print(config)
print(config['db_host'])
print(config['options']['db_host'])


ลองปริ้นผลเเล้ว Error

โค้ด: เลือกทั้งหมด

C:\Python27>python D:\update_seq.py
<backports.configparser.ConfigParser object at 0x0000000003649978>
Traceback (most recent call last):
File "D:\update_seq.py", line 10, in <module>
print(config['db_host'])
File "C:\Python27\lib\site-packages\backports\configparser\__init__.py", line 1040, in __getitem__
raise KeyError(key)
KeyError: 'db_host'

โค้ด: เลือกทั้งหมด

C:\Python27>python D:\update_seq.py
Traceback (most recent call last):
File "D:\update_seq.py", line 10, in <module>
print(config['options']['db_host'])
File "C:\Python27\lib\site-packages\backports\configparser\__init__.py", line 1040, in __getitem__
raise KeyError(key)
KeyError: 'options'

ข้างบน