我有一个Python文件(sql_script.py),其中包含一些将数据添加/修改到SQL数据库的方法,比如说
有时我只需要调用其中一种方法,其他几种方法
到目前为止,我所做的是根据我的需要修改主要方法:
if __name__ == '__main__':
conn = connect_db()
import_data_into_specifications_table(conn= conn)
import_data_into_linkage_table(conn=conn)
conn.close()
但我发现这是一个不好的做法,因为我总是要记得在提交代码之前删除主要文件
一个可能的选择可能是编写一个外部python文件,比如launch_sql_script.py),其中我编写了我必须运行的所有方法组合,比如说:
def import_spec_and_linkage():
conn = connect_db()
import_data_into_specifications_table(conn= conn)
import_data_into_linkage_table(conn=conn)
conn.close()
...
if __name__ == '__main__':
import_spec_and_linkage()
版本化这个文件会很有用,但我仍然需要根据我的需要修改主代码。
你认为这是一个好习惯吗?你还有其他建议吗?
答案 0 :(得分:1)
选项1:将它们分成单独的脚本并从命令行运行
# import_data_into_specifications_table.py
if name == '__main__':
conn = connect_db() # import from a shared fiel
import_data_into_specifications_table(conn= conn)
# in bash
$ import_data_into_specifications_table
选项2:编写一个解析命令行参数的文件
# my_sql_script.py
if name == '__main__':
conn = connect_db()
if args.spec_table: # use argumentparser to get these
import_data_into_specifications_table(conn=conn)
if args.linkage_table:
import_data_into_linkage_table(conn=conn)
...
# in bash
$ my_sql_script.py --spec_table --linkage_table
如果操作的顺序无关紧要或总是不变,我会赞成选项2。如果有很多排列,我会选择选项1.
答案 1 :(得分:1)