一些Python片段_6

本文最后更新于2014年10月21日,已超过 1 年没有更新,如果文章内容失效,还请反馈给我,谢谢!

1.Python的ftplib模块

先看实例:

ftp = ftplib.FTP()  #返回FTP类的一个实例

ftp.connect(host, 21, 10)  #连接host的21端口,取timeout为10

ftp.retrlines(‘LIST’)  #以ASCII模式返回目录/文件列表

官方文档:20.8. ftplib — FTP protocol client — Python 2.7.8 documentation

2.Python的socket模块的简单介绍

一、通过gethostbyname获取域名对应的IP(s)

 

3.Python的字典去重/计数&排序

 

4.Python中函数亦为对象

 

5.Python中的推导式{超赞!}

 

6.Python的encode和decode方法

先来一个Windows下的封装函数,避免出现乱码:

该函数的功能,就是先将给定的字符串s进行utf8解码,然后再使用系统终端默认字符编码方式对字符串进行编码,对于Windows下的终端显示效果很好;

Python内建的encode()方法以 encoding 指定的编码格式编码字符串。errors参数可以指定不同的错误处理方案。
语法:str.encode(encoding=’UTF-8′,errors=’strict’)
encoding — 要使用的编码,如”UTF-8″。
errors — 设置不同错误的处理方案。默认为 ‘strict’,意为编码错误引起一个UnicodeError。 其他可能得值有 ‘ignore’, ‘replace’, ‘xmlcharrefreplace’, ‘backslashreplace’ 以及通过 codecs.register_error() 注册的任何值。

一般在和字符编码相关的Python脚本中,经常需要在开头添加:

因为在Python2.5及以后的版本中,初始化之后会删除 sys.setdefaultencoding 这个方法,我们需要重新载入reload(sys),然后手动指定默认编码方式。

参考链接:
7.Python的字符串split函数改进版

8.Python下载OSChina的代码

原文链接python 下载oschina python代码

9.用Python发邮件

参考链接:
10.文件合并

11.Python获取自身文件名的方法

有两种方法:__file__和sys.argv[0]

12.lxml模块的几个用法

13.友链统计相关

代码片段取自:通过友情链接进行博客Feed的搜集,你的博客收录了吗,我目前还在理解、学习的阶段。

14.利用GoogleAPI进行少量统计结果抓取

 

待续……

声明: 除非注明,ixyzero.com文章均为原创,转载请以链接形式标明本文地址,谢谢!
https://ixyzero.com/blog/archives/1516.html

《一些Python片段_6》上有2条评论

  1. 立即停止使用 setdefaultencoding(‘utf-8’), 以及为什么
    https://blog.ernest.me/post/python-setdefaultencoding-unicode-bytes

    最坏实践

    sys.setdefaultencoding('utf-8') 会导致的两个大问题
    简单来说这么做将会使得一些代码行为变得怪异,而这怪异还不好修复,以一个不可见的 bug 存在着。下面我们举两个例子。
    1. 编码错误
    2. dictionray 行为异常

    问题的根源:Python2 中的 string
    Python 为了让其语法看上去简洁好用,做了很多 tricky 的事情,混淆 byte string 和 text string 就是其中一例。
    在 Python 里,有三大类 string 类型,unicode(text string),str(byte string,二进制数据),basestring,是前两者的父类。

    最佳实践
    · 所有 text string 都应该是 unicode 类型,而不是 str,如果你在操作 text,而类型却是 str,那就是在制造 bug。
    · 在需要转换的时候,显式转换。从字节解码成文本,用 var.decode(encoding),从文本编码成字节,用 var.encode(encoding)。
    · 从外部读取数据时,默认它是字节,然后 decode 成需要的文本;同样的,当需要向外部发送文本时,encode 成字节再发送。

    Why should we NOT use sys.setdefaultencoding(“utf-8”) in a py script?
    https://stackoverflow.com/questions/3828723/why-should-we-not-use-sys-setdefaultencodingutf-8-in-a-py-script

发表评论

电子邮件地址不会被公开。 必填项已用*标注