1.1.2-玩转Python3金融API应用-easyutils的文件结构

第一次看github,最让人摸不清头脑的可能是项目文件的结构。easyutils包的文件结构相对比较简单,所以这里可以先给大家介绍一下。

easyutils的github页面:https://github.com/shidenggui/easyutils


easyutils的github页最上层

文件夹:easyutils,tests

文件:.gitignore,README.md,requirements.txt,setup.py


easyutils/easyutils

文件:__init__.py,stock.py,timeutils.py


easyutils/tests

文件:test_timeutils.py


下面咱们来分层讲解。


easyutils的github页最上层

setup.py

用于命令行下安装的文件。

文件中注明了这个模块是用于中国股票的模块,作者名及作者邮箱,GitHub网址,必须安装的模块等内容。其中的keywords便于pypi索引。

应用这个文件可以将easyutils包安装到电脑上。


requirements.txt

这个文档中写的是使用easyutils前必须安装的模块。

必须安装的模块有两个:requests和pyquery。

可以使用以下命令批量安装requirements.txt中要求的包。

pip install -r requirements.txt


.gitignore

这是作者Git工作目录中的一些文件,并没有打算提交到GitHub上来。这些文件对使用包通常没有什么影响。这个文件对使用者而言一般可以略过。


easyutils文件夹

这个文件夹名字和这个包的名字是一致的,由此可以看出这个文件夹内的文件是整个包最核心的部分。这个文件夹内的py文件都是这个包的模块。每个模块都具有不同的功用。


tests文件夹

tests这样名字的文件夹通常内部会放一些用于测试的代码。各位可以手动测试,或者使用pytest或者unittest这类模块进行测试。tests文件夹并不一定会提供example(案例)给你,但是有时候会包含一些函数的使用过程,是值得看看的。


easyutils/easyutils

__init__.py

这里直接引用他人的内容吧(网络的力量真的很大)。

__init__.py 文件的作用是将文件夹变为一个Python模块,Python 中的每个模块的包中,都有__init__.py 文件。

__init__.py 文件可以为空,但是我们还可以为它增加其他的功能。我们在导入一个包时,实际上是导入了它的__init__.py文件。这样我们可以在__init__.py文件中批量导入我们所需要的模块,而不再需要一个一个的导入。具体的实现方法可以自行搜索。


stock.py,timeutils.py

这些就是一个项目包的各个具体模块的源代码了。有些相对较大的项目在包的源代码中还有子包,子包中有子包的模块。有些项目(如easytrader)在源代码文件中还会放一些其他内容,比如config(配置)文件夹,里面装有一些需要使用的网址信息等。

总而言之,一个python项目最主要的部分都在与包名相同的这个文件夹中。


easyutils/tests

test_timeutils.py

放在tests中的文件通常是源代码作者自己用于测试或者方便使用者进行测试的。一个包上到github之后可能会有很多人下载使用,对于金融类API这种可能涉及到资金损盈的包,更是有必要慎重得进行测试。如果想了解测试方法或者相关的python包,那么可以自行搜索类似“python3 unittest”、“python3 pytest”、“python3 单元测试”等内容。对于不太可能会给自己造成损失的项目,使用者可以不用理会测试文件夹的相关内容。

测试文件夹提供的测试可能只是针对某个函数。比如easyutils这里只是针对timeutils中的某个函数进行了测试。如果要测试更多的函数就需要自行操作了。


其他的文件夹或文件

当你打开github上一个规模较大的python项目时,里面会有非常多的文件夹或者文件。比如Doc文件夹,这里面装的是对包的说明文件,一般源代码作者会经由这些文件发出一个使用手册并写入readme文档,供使用者参考。不过对于大多数python初学者而言,他们写的使用参考也是难以理解和直接使用的,到头来还是需要看看源代码。

我在这里不太可能列举出所有的包或者可能出现的文件。如果大家对github感兴趣,网上有不少教程,大家可以前去搜索。我这里只是关注如何应用金融类API,捎带手可能提及一些其他内容。学习嘛,终归还是要自己努力的。


到这一步,咱们已经清楚知道了easyutils包的项目文件结构,通过readme文档初步知道了这个包内函数的用途。然而,如果真的要使用这个包,仅仅知道这些是不够用的。原因在于,readme文档可能写的不全,如果使用函数遇到问题,咱们还是得看源代码。除非一个包的复杂度相当高(比如盈透IB的API)以至于通读全部源代码不太实际,那么,其官方文档通常会较为详细地说明包内各个模块的用途,在实际应用于交易前,一定要通过模拟账户对所有可能用到的类或函数进行充分测试,如果条件允许,更需要在一定小金额的范围内对程序进行实盘交易测试,否则出现bug,带给你的损失是很难估计的。

easyutils包的源文件内容不多,毕竟只是用于提供几个有用的功能,所以咱们可以直接通读源代码。如果你已经迫不及待的打开了easyutils包中模块的源代码,你会发现里面的代码量并不大,所以从上往下读完全没有什么问题。不过,如果你打开某个模块的源代码,里面显示数百行以至成千上万行时,这个时候就不是考虑直接从上往下读了,而是先分析文档的结构,搞清楚各个函数直接的关系,最后再按照一定的顺序去阅读源代码。

那么,下一篇文章,咱们就来讲解easyutils包的第一个模块stock.py的源代码。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 213,616评论 6 492
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 91,020评论 3 387
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 159,078评论 0 349
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 57,040评论 1 285
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 66,154评论 6 385
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 50,265评论 1 292
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 39,298评论 3 412
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,072评论 0 268
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 44,491评论 1 306
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 36,795评论 2 328
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 38,970评论 1 341
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 34,654评论 4 337
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 40,272评论 3 318
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 30,985评论 0 21
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,223评论 1 267
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 46,815评论 2 365
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 43,852评论 2 351