python的io效率并不高,打眼一看并不符合服务器环境下存土寸金追求效率的要求.看起来并不是开发io密集型应用的好选择.这事其实说对了一半,对于运行效率python没有一丁点优势,即便是同为动态语言的node.js,效率和资源消耗都比python的低些,更不要提那些像C++,golang这样的静态语言了.
既然如此这篇是否还有意义呢?答案是有!
由于python语言的有:
- 好学好上手,学习曲线平缓
- 字符串处理手段多
- 不用编译所见即所得便于快速开发快速测试
- 可以非常轻易的用C/C++或cython扩展迭代
- 有很深的科学计算,机器学习,数据分析和ai相关生态支撑
这样的特点,在输入输出编程这块它有一些奇怪的生态位:
- 需求不稳定需要快速迭代的网络应用
- 仅需简单功能的快速实现可交互demo
- 数据算法相关的api应用
- 无需精细界面的可交互后台管理应用或工具应用
本文也仅适用于上述场景.如果更高效稳定的io性能,推荐使用更加专业的golang作为开发语言
本文毕竟是攻略性质,定位是给第一次接触io编程的人,毕竟这系列攻略都是以从python开始接触编程的人为目标读者构思的.那除了应用层外也就必须介绍一些基础知识.
本文的结构会大致如下:
- 基础知识部分
- 文件系统简介
- 网络编程简介
- 应用开发部分
- 接口服务
- 应用服务