美文网首页
开发利器,预设变量到Python控制台

开发利器,预设变量到Python控制台

作者: hjiangwen | 来源:发表于2020-03-29 12:50 被阅读0次

    在用 Rails 开发 Web 应用时,经常需要调试某些类的 API,看一下输出是什么。
    比如执行 view helper API:https://ruby-china.org/topics/3506

    最近用 mongo 存爬取的数据,但是对 mongo 的 CRUD 操作不熟悉,经常需要进入 python 控制台调试API。

    每次都要敲入 $ python,然后实例化 mongo 对象,期间还要加载 .env 文件里的环境变量,过程实在麻烦。所以想像 Rails 一样,搭建一个预设变量的控制台,提前创建出 mongo 对象,方便自己调试。

    首先新建一个文件 console.py,把下面代码拷贝进去

    import code
    import os
    
    import pymongo
    import dotenv
    
    dotenv.load_dotenv() # 读取环境变量
    
    # 设置常用的变量
    client = pymongo.MongoClient(os.getenv('MONGO_URI'))
    db = client[os.getenv('MONGO_DATABASE')]
    question_stats = db['question_stats']
    answers = db['answers']
    
    code.interact(local=locals()) # 进入python控制台,并且传入本地变量
    

    然后在控制台执行,就能访问提前设置好的变量啦

    $ python console.py            
    Python 3.7.4 (default, Aug 13 2019, 15:17:50) 
    [Clang 4.0.1 (tags/RELEASE_401/final)] on darwin
    Type "help", "copyright", "credits" or "license" for more information.
    (InteractiveConsole)
    >>> db
    Database(MongoClient(host=['localhost:27017'], document_class=dict, tz_aware=False, connect=True), 'zhihu_spider')
    >>> 
    

    想起以前开发 Android App 时,也没有控制台。调试一个涉及到页面的几个 API,还得打包,安装 App 到手机上(现在打包速度提升不少了),点一下按钮或者进入主页面来触发代码,这个开发效率,一言难尽,想哭,哈哈

    相关文章

      网友评论

          本文标题:开发利器,预设变量到Python控制台

          本文链接:https://www.haomeiwen.com/subject/akwyuhtx.html