我目前有2个脚本 test.py 和 connections.py 。 test.py 目前仅用于测试代码以便能够合并到其他脚本中。 connections.py 包含一组用于创建MySQL连接,关闭连接和执行SQL语句的函数。
connections.py将由需要连接到数据库的多个脚本使用。我知道如何在同一个脚本中调用相应的函数,并且我知道当脚本中只有一个函数时如何在另一个脚本中调用函数。
我无法弄清楚当有多个功能时如何调用正确的功能。通过google / stackoverflow,我发现的所有示例都是在只有一个函数或者在同一个脚本中进行调用时。
我尝试过使用带有函数的类,只使用带有函数的文件。下面的代码没有上课。任何帮助是极大的赞赏。我也在Windows 10上使用python 3.5,如果有任何不同,它最终将被移动到UNIX机器上。
test.py
import connections as c
sql = "select * from tbl"
sqlRec = c.select_stmt(sql) # this is the command I need help with
print(sqlRec)
connections.py
import mysql.connector as MySQL
def connection():
#set up connection
con = MySQL.connect(user='xxx',password='xxx',host='xxx',db='xxx')
cursor = con.cursor()
return con, cursor
def close_connection(cursor,conn):
cursor.close()
con.close()
def select_stmt(sql):
con, cursor = connection()
cursor.execute(sql)
sqlRec = cursor.fetchall()
close_connection(cursor,con)
return sqlRec
def insert_update_stmt(sql):
con, cursor = connection()
cursor.execute(sql)
con.commit()
close_connection(cursor,con)
#if __name__ == '__main__':
# function_name_when_single_func(sql) //With a single function I had these uncommented and this worked to run function from another script
答案 0 :(得分:0)
在import语句中指定所需的功能 例如:
## connections.py
def foo():
print("this is foo.")
def bar():
print("this is bar.")
## test.py
from connections import foo, bar
foo()
bar()
test.py
输出:
this is foo.
this is bar.
Process finished with exit code 0
注意强>
最好明确说明你从另一个模块引进的进口
来自PEP 8:
应避免使用通配符导入(来自import *),因为它们不清楚命名空间中存在哪些名称。
答案 1 :(得分:-2)
使用from file import *
该文件中的所有函数都应该是可调用的