开发者

How to deal with configuration variables in Python?

I'm new to Python and I'm doing some tests with it.

What I need to know is what is the best way of dealing with configuration variables.

For example, for this code:

import twitter
import random
import sqlite3
import time
import bitly_api #https://github.com/bitly/bitly-api-python

class TwitterC:         
    def logtodatabase(self, tweet, timestamp):
        # Will log to the database
        database = sqlite3.connect('database.db') # Create a database file
        cursor   = database.cursor() # Create a cursor
        cursor.execute("CREATE TABLE IF NOT EXISTS twitter(id_tweet INTEGER AUTO_INCREMENT PRIMARY KEY, tweet TEXT, timestamp TEXT);") # Make a table
        # Assign the values for开发者_如何转开发 the insert into
        msg_ins       = tweet
        timestamp_ins = timestamp
        values        = [msg_ins, timestamp_ins]
        # Insert data into the table
        cursor.execute("INSERT INTO twitter(tweet, timestamp) VALUES(?, ?)", values)
        database.commit() # Save our changes
        database.close() # Close the connection to the database

In this code, how can I replace 'database.db' with a variable outside of the class, for a better configuration. ?

Best Regards,


Or you could use argparse if you want to pass in configuration from the command line.

Then when creating the TwitterC class, you could pass in the configuration options you want.

class TwitterC:
    def __init__(self, database):
        self.database = database
    def logtodatabase(self, tweet, timestamp):
        # Will log to the database
        database = sqlite3.connect(self.database) # Create a database file
        #(...)


You could use ConfigParser out of the Python Standard Library.


You can create a python script that include the configuration variables: config.py:

dbname = 'database.db'
...

your file:

import config
database = sqlite3.connect(config.dbname)
0

上一篇:

下一篇:

精彩评论

暂无评论...
验证码 换一张
取 消

最新问答

问答排行榜