0
点赞
收藏
分享

微信扫一扫

好用!通过命令行传入参数给运行任务

今天在写代码时,发现一个问题,在主控制文件函数中如何将数据库数据通过命令行参数传入给另一个运行任务文件的函数中,在了解了一下,找到一个不错的方法。那就是getopt库,挺好用的


目的:


通过os.system运行命令,将数据库的数据传入到baidu_ranking.py的文件中


好用!通过命令行传入参数给运行任务_数据


在baidu_ranking.py文件中,通过这个方法进行接受数据


好用!通过命令行传入参数给运行任务_数据库_02


问题:


数据库返回的数据是元组数据,而通过命令行接受的数据,会将元组数据转成字符串形式,那就不能进行解析数据了,不是想要的数据了。


经过测试发现,需要通过eval函数进行转换。


好用!通过命令行传入参数给运行任务_数据_03


转换后就是元组数据了,接下来我们在运行函数中接收


def task_pool(argv):
options, args = getopt.getopt(sys.argv[1:], 'n:')


info = eval(options[0][0][1])
# info = connect_db(1,1)
# print(info)
# get_cookies()
with ProcessPoolExecutor(max_workers=8) as executor:
executor.map(main,list(info))

这样就成功通过主函数文件中,通过命令行传入数据库数据给运行文件函数了。为什么要在主函数运行?因为主函数文件放置了多个运行文件,需要传递相同的数据,那么在写代码时候,学习了一下,并实际应用。


举报

相关推荐

0 条评论