简单脚本启动程序

runscript的Python项目详细描述


当项目有一些任务需要定期或在特定时间运行时(例如,在服务器上部署项目或为新工作场所初始生成数据),这种情况并不少见。runscript包提供了简单的run实用程序,您可以使用它来运行任务。run命令只不过是存储在预定义目录中的某个脚本的main()函数的启动程序。此外,run实用程序稍微简化了命令行参数的处理。

真实世界示例

假设需要将数据库中的一些数据保存到文本文件中。例如,您有一个带有用户帐户的网站,您希望转储每个用户帐户的ID及其电子邮件。你还想能够选择国家的帐户转储。在项目根目录中创建“script/”目录,然后创建包含以下内容的文件“script/dump.py”:

import pymongo

def setup_arg_parser(parser):
    parser.add_argument('-c', '--count')

def main(count, **kwargs):
    with open('export/user.csv', 'w') as out:
        for user in db.user.find({'country': country}):
            out.write('%s:%s\n' % (user['_id'], user['email']))

关于这里发生的事很少有人说。传递给setup arg\u parserparser选项的值是argumentparser类的实例。您可以添加所需的任何选项,也可以不在脚本中指定setup arg parser。如果定义了一些自定义选项,则它们的值将传入**kwargs参数到main函数中。

好,现在您可以从控制台运行以下命令:

$ run dump

仅此而已:)当然这不是火箭科学,但我发现这个简单的脚本发射器节省了我很多时间。

欢迎加入QQ群-->: 979659372 Python中文网_新手群

推荐PyPI第三方库


热门话题
当使用RequestDispatcher时,servlets Java最终没有被调用   java生成对具有可变参数数的方法的调用   java如何使用select子句中的参数化列映射iBATIS的查询?   java无法创建类型为org的插件。阿帕奇。登录中。log4j。果心阿佩德。元素RollingFile的RollingFileAppender   java当子实体和父实体之间存在OneTONE JPA关系时,是否可以将其与父实体一起持久化?   Android上的java Facebook集成fbconnect断开链接   获取方法调用方的java机制   从列表创建Oracle阵列时出现java问题   添加和检索元素的ArrayList的java ArrayList   在java中从字符串中删除无效的XML字符   java如何构建完整生成的maven模块   java如何准确地改变播放所有分辨率midi文件的速度?   shell javac:无效标志:/src/中位_度。ubuntu中的java   java使用从其他类的方法检索到的信息