首页 > 解决方案 > 如何在 Python 中调用不同模块中的函数而不重复该函数

问题描述

我在 Python 的不同页面中定义了一个函数,如下所示:

def getData():
    user=input('Enter Name')
    if user=='Irfan':
        mydb = mysql.connector.connect(host='localhost', user='root', passwd='', database='sample_data')
        df = pd.read_sql_query('select * from sample_data.sample_data3', mydb)
    else:
        if user=='Usman':
            mydb = mysql.connector.connect(host='localhost', user='root', passwd='', database='')
            df = pd.read_sql_query('select * from sample_data.sample_data1', mydb)

    return df

但是,由于该函数在项目的许多其他文件中被调用,它在运行时一遍又一遍地要求我输入用户名。

如何输入一次用户名,然后使用该缓存值来获取所需的数据库,而无需多次输入用户名?

(对不起,用外行的话问;我是初学者。)

标签: pythonmysqlfunctionmodule

解决方案


使凭据全局..

user=input('Enter Name')

def getData():
global user
if user=='Irfan':
    mydb = mysql.connector.connect(host='localhost', user='root', passwd='', database='sample_data')
    df = pd.read_sql_query('select * from sample_data.sample_data3', mydb)
else:
    if user=='Usman':
        mydb = mysql.connector.connect(host='localhost', user='root', passwd='', database='')
        df = pd.read_sql_query('select * from sample_data.sample_data1', mydb)

return df

推荐阅读