我的Python编程体验总结

我的Python编程体验总结

@(进阶)[Python,Python学习,Python编程总结]

为什么标题起为体验呢,原因是我在学Python后还没有真正意义上用在项目上。我想也只有这个词最合适了。

  • 我的Python编程体验总结
    • 还是从缘说起
    • 入手轻脚本完成小功能
    • 了解过的模块简要说明
    • 我的Python之路还远

1. 还是从“缘”说起

为了说清“缘”我还刻意去翻了我硬盘上的Python相关目录看了一下创建的时间,也让我很惊讶,居然足足有一年多了,是从2015年的2月份开始的,同时也让我感到很惭愧,总感觉自己还是Python的初学者,实际接触已经有一年了,真正意义的Python项目却没有实施一个。不过说来我还是要很感激Python感激Python语言的开发者,虽然没真正意义上用Python做过一个项目,但是平时还是用Python写了不少小脚本,同时Python也让我学到了很多WEB语言没有接触到的东西和知识。还依稀记得当时是在知乎上的一个程序员话题中看到一位程序员知友写的他的一个程序语言学习顺序,写的是PHP后面学的就是Python,当时他也写到了Pytthon弥补PHP不能做的东西(对PHP大牛来说也没什么是PHP不能做的呵呵)就是那个时候我开始去搜Python相关的资料,了解到他是个典型的胶水语言,通俗的讲就是万金油。他装逼的简洁风格深深的吸引了我,asp好殆还有个end结束标志,Python连这个都省了,完全靠代码的缩进来区分模块,够拉轰的 (也许其它语言还有更拉轰的特性也怪我见少识少 )由于有这一特性也使代码看起来更整洁明了。当然除了这个特性更重要是Python还有不少和web相关的应用,也让我能更好的理解Python Web相关的库。

2. 入手轻脚本完成小功能

现在入门一门语言我习惯看点语法直接上手案例,然后边百度边写边改,因为工作上经常要复制站点数据,也经常是从主站复制某些栏目,为了不浪费磁盘空间,需要把图片分栏目按原有路径取出来,由于图片没有分栏目存放,所以要把图片分栏目取出来还是有点麻烦,我想着可以尝试着用Python来实现取出的这个功能。Python实现起来比较顺利,这得益于Python的一个库urllib,open方法也很强大不用关心目录的层次只管把路径写上就能自动建立相应的目录。第二个小脚本是因为当时那段时间IIS进程池经常崩溃导致公司网站无法访问,为了监控网站的可用性而写的小脚本,当然现有第三方的监控平台,也很方便,这里主要想说的是方法和学习过程。我实现这个功能就用到了urllib2、webbrowser还有windll,webbrowser主要是用于反馈打开无出现错误无法访问的网站的,windll则是弹也警告框的。第三个是想实现服务器网站文件和磁盘本地文件单向同步备份功能,方便保持文件的安全性和网站的可用性,因为之前公司的服务器也现过几次硬件崩溃离线故障,为了保证服务器宕机还能在其它备用服务器上恢复在线避免损失而想到的解决方案,不过后面种种原因也没有真正用上,这里主要还是倾重于描述学习尝试的过程。同步备份的原理也很简单,是通过Python FTP模块实现的,网上搜了一个相似功能的案例直接在原有的基础上改进,原有的没有实现判断文件是否已经下载过,会重复的下载,崩溃的是下载到一半出错中断后,重新开始又重头开始下载,这是让人崩溃的,不能接受的。我通过记录判断当前目录和判断文件的修改时间属性,实现了简单的当前进度目录记录和文件校验完成了整个功能。这个小项目我已经开源到了我的git.oschina.net上了,有兴趣的朋友可以去下载看一下。除了上面提到的这些小脚本,我还搞了不少其它的小脚步,包括改变某些窗口的透明度(你懂的)、还有小小的爬虫、模拟登录等等。

3. 了解过的模块简要说明

  1. urllib,urllib2——像读取本地文件一样读取www和ftp上的数据;
  2. requests——HTTP for Humans,给人类使用的HTTP库;
  3. BeautifulSoup——Python写的一个HTML/XML的解析器;
  4. lxml——一个html/xml解析并建立DOM的库;
  5. webbrowser——支持对浏览器进行一些操作;
  6. cookielib——主要作用是提供可存储cookie的对象;
  7. xpath——XML路径语言,可以用来选择XML节点;
  8. ConfigParser——解析配置模块;
  9. win32gui——Window界面相关的API模块;
  10. splinter——自动化测试工具;
  11. unittest——单元测试;
  12. itertools——生成循环器的模块;
  13. pickle——对象持久化存储;
  14. YAML——数据序列化标记语言;

4. 我的Python之路还远

Python有很多之前PHP没有了解过的知识和库(当然PHP也有很多库我没有了解过),例如itertools(循环器)、xpath(XML路径语言)、unittest(单元测试)、pickle(对象持久化存储)、YAML(数据序列化标记语言)等,还有很我没有了解过的实用的库。在Web方面也有几大框架例如:Django、Flask等。如何熟悉整合,利用Python这些库和框架完成一些项目,是我后面需要实施探索的,当然在Python结构语法上也有很多之前没有接触过的,也需要慢慢的掌握和运用。啰嗦这么多也差不多了,在后面的Python学习旅程中欢迎和我一起分享讨论,可以随时微信[ioiplay]@我。

你可能感兴趣的:(进阶,Python)