繁体   English   中英

如何分割Python文件?

[英]How to divide Python files?

我正在使用Python构建CLI网络抓取应用程序,该应用程序应为股票交易者收集数据。 它应该执行以下操作:

  • 调用Reddit的API以获取有关股票的新闻。
  • 调用Twitter的API以获得有关股票的推文。
  • 调用Yahoo的API以获取有关股票的价格数据。
  • 致电Google趋势以获得“随着时间的流逝”的股票人气。

这些动作中的每一个都有其自己的含义。 同样,所有这些操作都将由CLI触发。

对我来说有意义的是,每个动作将被构造在一个单独的.py文件中,每个文件可能只有一个类。

然后在main.py中将具有一个CLI类,该类可根据用户的标志和参数启动其他类。

  • 我的逻辑在这里正确吗?
  • 我还应该考虑什么?
  • 我应该在哪些目录中包含这些文件,我应该拥有哪些其他目录?

您的整体方法是明智的; 但是很难看清实际代码。

对于小型应用程序,将所有内容都放在一个源文件中没有任何问题。 随着应用程序的增长,如果它通过多个源文件或多个单独导入的模块来帮助您组织和读取代码,那是一件好事。 但是,Python中没有任何内容可以指示何时(或是否)进行该转换。

要考虑的其他事项:

  • 您可以使用正确的CLI库来简化生活。 Fire( https://github.com/google/python-fire )是一个很好的工具,它会自动执行很多操作。 您可能会发现将所有类都放在一个文件中,或者只是将所有类导入到主文件中,这将为您提供良好的基本CLI。

  • 如果您的CLI更复杂,请查看Click( https://click.palletsprojects.com/en/7.x/

  • Python处理项目结构中的导入的方式并不明显。 这取决于您如何调用模块/脚本(例如,在运行模块时通过python -m MODULEimport MODULE语句运行的import MODULE )在通过python /PATH/TO/SCRIPT.py运行与脚本相同的代码时通常会失败python /PATH/TO/SCRIPT.py 在短篇文章中很难对此进行总结,但是它要求您了解如何将代码打包为脚本,模块,可单独安装的软件包; 并要求您注意如何执行代码。 当您刚接触Python环境时,这通常很难学习。 我建议您阅读诸如( https://click.palletsprojects.com/en/7.x/ )之类的教程。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM