
开发实践
feiyy404
选择往往比努力更重要。
展开
-
拉取并且mongo保存聚宽的期货分钟线数据
聚宽服务在聚宽官网申请账号,然后阅读相关 api 文档。https://www.joinquant.com/view/user/floor?type=mainFloor安装 SDK 并且登录使用 pip install jqdatasdk 进行安装, 已经安装之后进行更新安装。登录def login(user_name, password): try: aut...原创 2019-11-22 11:19:23 · 1688 阅读 · 0 评论 -
服务器实践001 -- cento7 服务器环境搭建
配置python环境工具centos 7 自带python2.7.5版本,但是没有pip工具,所以我们首先要安装pip工具,然后在这个基础上一步步搭建python的web开发环境。编译安装pipcd /usr/local/srcwget https://pypi.python.org/packages/11/b6/abcb525026a4be042b486df43905d6893fb04...原创 2018-11-12 23:22:24 · 279 阅读 · 0 评论 -
服务器实践002 -- 裸跑一个flask程序
安装基本依赖mkvirtualenv blog --python=python3 # 创建python3虚拟环境 pip install flask --index http://pypi.douban.com/simple --trusted-host pypi.douban.com # 安装 flaskpip install ipython # 安装ipython打开pyth...原创 2018-11-13 00:31:27 · 489 阅读 · 0 评论 -
在 vscode 上 使用 pycharm
参考文档:https://zhuanlan.zhihu.com/p/44110740我没有通过win上面的cmd命令行去创建虚拟环境,而是在最新版本的pycharm中创建项目,最新版本的pycharm默认是将项目放在一个虚拟环境中去执行的。以此可以查看python解释器的位置:然后将这个位置配置到vscode的配置里面:...原创 2018-11-05 22:44:59 · 2645 阅读 · 0 评论 -
服务器实践003 --python操作mongodb数据库
MongoDB 是由C++ 编写的非关系型数据库,是一个基于分布式文件存储的开源数据库系统,其内容存储形式类似于 JSON 对象,它的字段值可以包含其他文档、数组以及文档数据,非常灵活。准备工作安装好了MongoDB并且开启了服务,并且安装好了Python的PyMongo库。在centos 上安装mongodb参考:http://www.runoob.com/mongodb/mongodb...转载 2018-11-13 23:27:54 · 198 阅读 · 0 评论 -
服务器实践004 -- 为pycharm配置远程解释器
有时候需要在远程服务器上运行,但是Linux系统下的vim编辑不太熟练。可以尝试为pycharm配置远程解释器。注意事项pycharm 的专业版的功能步骤这样就做到了和服务器数据的同步:...原创 2018-11-13 23:46:47 · 231 阅读 · 0 评论 -
Python黑魔法--异步IO(asyncio)协程 (一)
python asyncio网络模型有很多中,为了实现高并发也有很多方案,多线程,多进程。无论多线程和多进程,IO的调度更多取决于系统,而协程的方式,调度来自用户,用户可以在函数中yield一个状态。使用协程可以实现高效的并发任务。Python的在3.4中引入了协程的概念,可是这个还是以生成器对象为基础,3.5则确定了协程的语法。下面将简单介绍asyncio的使用。实现协程的不仅仅是asyn...原创 2018-11-08 21:54:31 · 592 阅读 · 0 评论 -
Python黑魔法--异步IO(asyncio)协程 (二)
接 https://blog.youkuaiyun.com/Enjolras_fuu/article/details/83869225并发和并行并发和并行一直都是容易混淆的概念。并发通常是指有多个任务需要同时进行,并行则是同一时刻有多个任务执行。asyncio实现并发,就需要多个协程来完成任务,每当有任务阻塞的时候就await,然后其他协程继续工作。创建多个协程的列表,然后将这些协程注册到事件循环中去。...原创 2018-11-08 22:40:11 · 486 阅读 · 0 评论 -
python – 将树列表转换为层次结构dict
创建测试用例class Node: def __init__(self, parent, name): self.parent = parent self.name = name# 创建一个根节点对象root = Node(None, "root")# 根节点下有 三个子节点node1 = Node(root, "node1")node2 = ...原创 2019-03-12 14:38:09 · 3545 阅读 · 0 评论 -
在守护进程中进行 sentry 上报遇到的问题
问题描述在一个定时执行的任务中,向 sentry 上报信息:在主进程中运行没有问题:import datetimeimport osimport sysimport configparserimport logging.configimport timefrom importlib import utilfrom apscheduler.schedulers.blocking...原创 2019-07-12 09:35:44 · 1052 阅读 · 0 评论 -
创建 python3 虚拟环境
python -m venv env01这时会在当前的工作目录下面创建一个虚拟环境的文件夹激活虚拟环境:source env01/bin/activate原创 2018-11-02 22:31:45 · 264 阅读 · 0 评论 -
flask_pymongo 的基本操作
参考文档:https://flask-pymongo.readthedocs.io/en/latest/初始化设置:from flask import Flaskfrom flask_pymongo import PyMongoapp = Flask(__name__)app.config["MONGO_URI"] = "mongodb://localhost:27017/myDatab...原创 2018-11-02 00:04:11 · 3222 阅读 · 0 评论 -
traceback.print_exc()跟traceback.format_exc()有什么区别
使用traceback获取详细的异常信息In [10]: try: ....: 1/0 ....: except Exception as e: ....: print e ....: integer division or modulo by zero输出结...转载 2018-08-27 16:05:39 · 7802 阅读 · 0 评论 -
自动调整导包顺序
按照 python 代码规范,导入应该按照从最通用到最不通用的顺序分组: 标准库导入 第三方库导入 应用程序指定导入解决方案:原创 2018-09-10 20:46:49 · 648 阅读 · 0 评论 -
Python中与时间处理相关的包
dateIn [1]: from datetime import dateIn [2]: date.today()Out[2]: datetime.date(2018, 11, 1)In [3]: date.today().isoformat()Out[3]: '2018-11-01'TimeIn [4]: import timeIn [5]: t = time.time(...原创 2018-11-01 21:41:11 · 488 阅读 · 0 评论 -
ssh免密登陆的流程
# cd /root/.ssh# ssh-keygen -t rsa# lsid_rsa id_rsa.pub known_hostscat id_rsa.pub参考:http://www.ruanyifeng.com/blog/2011/12/ssh_remote_login.htmlhttp://www.ruanyifeng.com/blog/2011/08/what_is...原创 2018-11-01 22:40:01 · 216 阅读 · 0 评论 -
关于bson生成ObjectId的操作
参考文档:http://api.mongodb.com/python/current/api/bson/objectid.htmldemoid = bson.ObjectId() # 初始化一个新的ObjectId>>> o = ObjectId()>>> o == ObjectId(str(o)) True# 在转换的过程中,可能捕获的异常是 ...原创 2018-11-01 23:07:37 · 6062 阅读 · 0 评论 -
在 Python 中创建自定义异常
参考:https://python3-cookbook.readthedocs.io/zh_CN/latest/c14/p08_creating_custom_exceptions.html问题在你构建应用的过程中,你想将底层异常包装成自定义的异常。解决方案创建新的异常很简单——定义新的类,让它继承 Exception(或者任何一个已经存在的异常类型)。例如,假如你编写网络相关的程序,你可...转载 2018-11-01 23:52:23 · 5851 阅读 · 0 评论 -
python字典
In [78]: dict = {"a":1,"b":2} In [79]: demodict = dict ...原创 2018-11-01 23:57:39 · 751 阅读 · 0 评论 -
suggestion 46 使用 traceback 获取栈信息
当程序产生异常的时候,最需要面对异常的其实是开发人员,他们需要更多的异常提示信息,以便调试程序中潜在的错误和问题。先来看一个简单的例子: In [57]: gList = ['a','b','c','d','e','f','g'] In [58]: def f(): ...: gList[5] ...: return g() ...转载 2018-08-27 16:02:22 · 296 阅读 · 0 评论