第十一章 标准库-os操作,时间datetime和urllib2网络模块

引入了python模块和包的概念以后,对python编程结构有了进一步的了解,如何快速的建立项目的结构也有了一个依据。我们可以编写很多自定义的模块,当然python中也自带了很多python标准库,把很多常见的,经常用到的函数抽取出来并进行归类,在windows下,随着python的安装一般标准库会放在C:\Python27\Lib,里面有非常多的库,库里面包含了大量有用的处理函数,方便编程调用。

在python标准库中,包含了大量有用的模块,这通常在python的文档中都有介绍,但有些文档较难阅读和理解,在编写程序的过程中会慢慢的熟悉,这里先简单的介绍几个模块,可以通过同样的方法了解python的标准库。

os模块

os模块中主要是包含了大量的文件和文件夹的操作,os模块封装了很多底层对文件和文件夹操作的方法,使我们可以方便的对文件和文件夹进行操作。

利用os获取当前目录:

>>> import os
>>> print os.getcwd()
d:\data\python_start
>>>

os模块中包含了很多的操作方法,如下简单的介绍了各个方法的用途:

os.remove() 删除文件
os.rename() 重命名文件
os.walk() 生成目录树下的所有文件名
os.chdir() 改变目录
os.mkdir/makedirs 创建目录/多层目录
os.rmdir/removedirs 删除目录/多层目录
os.listdir() 列出指定目录的文件
os.getcwd() 取得当前工作目录
os.chmod() 改变目录权限
os.path.basename() 去掉目录路径,返回文件名
os.path.dirname() 去掉文件名,返回目录路径
os.path.join() 将分离的各部分组合成一个路径名
os.path.split() 返回( dirname(), basename())元组
os.path.splitext() 返回 (filename, extension) 元组
os.path.getatime\ctime\mtime 分别返回最近访问、创建、修改时间
os.path.getsize() 返回文件大小
os.path.exists() 是否存在
os.path.isabs() 是否为绝对路径
os.path.isdir() 是否为目录
os.path.isfile() 是否为文件

使用os模块遍历文件夹

import os
import os.path
rootdir = “d:\data”                                   # 指明被遍历的文件夹

for parent,dirnames,filenames in os.walk(rootdir):    #三个参数:分别返回1.父目录 2.所有文件夹名字(不含路径) 3.所有文件名字
    for dirname in  dirnames:                       #输出文件夹信息
      print "parent is:" + parent
      print  "dirname is" + dirname

    for filename in filenames:                        #输出文件信息
      print "parent is": + parent
      print "filename is:" + filename
       print "the full name of the file is:" + os.path.join(parent,filename) #输出文件路径信息

#windows下为:d:\data\query_text\EL_00154

datetime日期模块

在处理数据时,经常会碰到日期处理的问题,datetime日期里面包含了很多的日期处理。

>>> import datetime
>>> now = datetime.datetime.now()
>>> print now.strftime('%Y-%m-%d %H:%M:%S')
2016-10-18 15:11:24
>>> 

这里通过datetime模块,得到当前的时间,并把当前的时间通过格式化转换为字符串,可以自己查看datetime的文档,自己试一下,如何得到昨天的日期等其他相关的问题。

urllib2网络模块

利用urllib2模块可以很方便的进行网络相关的处理,访问网站并取得网站的内容,也就是我们通常讲的爬虫,当然构建一个爬虫需要较多的知识和一个好的框架,爬虫的一部分就是很过获取网页的内容,而通过urllib2非常容易抓取网页,只需要简单的几行代码:

>>> import urllib2
>>> url = 'http://www.baidu.com/'
>>> data = urllib2.urlopen(url).read()

处理网页的数据就像出来文件一样,打开url,并读取数据,python之所以会越来越流行,一部分原因是它很容易理解操作起来非常的简单,不会有太多难于理解的东西。

其他模块

python的标准库非常多,有很多介绍这方面的文档,碰到问题时先通过资料查看标准库有没有类似的实现,以免重复造轮子,加快问题的解决速度,也很希望通过写更多的文章来对标准模块库进行介绍。


所有评论

写了这么多年博客,收到的优秀评论少之又少。在这个属于 SNS 的时代也并不缺少向作者反馈的渠道。

还没有评论

撰写评论