function db_properties
このサンプルコードでは、関数での変数を使用したいと思いますconnect_and_query
。それを達成するために、私はを選択しますreturn
。したがって、その戦略を使用すると、コードは完全に機能します。ただし、この例では、db.propertiesファイルには4つの変数しかありません。そうは言っても、プロパティファイルに20以上の変数がある場合、引き続き使用する必要がありreturn
ますか?それとも、それを行うための最もエレガント/クリーン/正しい方法はありますか?
import psycopg2
import sys
from ConfigParser import SafeConfigParser
class Main:
def db_properties(self):
cfgFile='c:\test\db.properties'
parser = SafeConfigParser()
parser.read(cfgFile)
dbHost = parser.get('database','db_host')
dbName = parser.get('database','db_name')
dbUser = parser.get('database','db_login')
dbPass = parser.get('database','db_pass')
return dbHost,dbName,dbUser,dbPass
def connect_and_query(self):
try:
con = None
dbHost=self.db_properties()[0]
dbName=self.db_properties()[1]
dbUser=self.db_properties()[2]
dbPass=self.db_properties()[3]
con = None
qry=("select star from galaxy")
con = psycopg2.connect(host=dbHost,database=dbName, user=dbUser,
password=dbPass)
cur = con.cursor()
cur.execute(qry)
data = cur.fetchall()
for result in data:
qryResult = result[0]
print "the test result is : " +qryResult
except psycopg2.DatabaseError, e:
print 'Error %s' % e
sys.exit(1)
finally:
if con:
con.close()
operation=Main()
operation.connect_and_query()
私はPython2.7を使用していますよろしく