Learn Python By Practice — Utilities模块,pythonutilities,Utilities.py


Utilities.py

'''Created on 2012年11月28日@author: jiangxiaoqiang本篇关于Python中常用utility模块使用'''#coding = utf-8import sysimport osimport shutilimport codecsfrom urllib.request import urlopendef utilTest():    # 文件系统 os os.path shutil    # 详细文档参考:http://docs.python.org/2/library/os.html    print('列出某个目录下的所有文件的名称:')    print(os.listdir(path='e:/'))    print('------------------------------')    # os.path.join(dir, filename)    # os.path.abspath(path) 给定路径,返回绝对路径形式    print('打印当前目录下所有文件的路径:')    filenames = os.listdir(path='/')    for f in filenames:        print(os.path.join('/', f)) # 相对路径        print(os.path.abspath(os.path.join('/', f))) # 绝对路径    print('------------------------------')    print('给定路径,打印路径的目录和文件名称:')    # 注意路径不一定需要真实存在。并且如果路径是个目录而不是文件的路径的话basename()方法将返回空字符串    # 这两个方法只是对文件路径字符串做简单的处理    filepath = 'e:/xunlei7'    print(os.path.dirname(filepath)) # 打印目录    print(os.path.basename(filepath))# 打印文件名称    print('------------------------------')    print('判断给定文件路径对应的文件是否存在:')    filepath = 'e:/xunlei7/'    print(os.path.exists(filepath))    print('------------------------------')    # os.mkdir(dir_path)创建单级目录,注意如果目录已经存在,则不能创建    # os.makedirs(dir_path)可以递归创建目录    print('创建单级目录和多级目录:')    os.mkdir('e:/py')    os.makedirs('e:/py/py/py')    print('创建目录完成!')    print('------------------------------')    # 拷贝文件 shutil.copy(source-path, dest-path)    # dest-path对应的目录必须存在    print('拷贝文件到某一个目录下:')    shutil.copy('d:/test/test.html', 'e:/py/new.html')    print('------------------------------')    # 运行外部进程 commands    # 详细文档参考:http://docs.python.org/2/library/commands.html    # 只支持Unix系统,所以这里不列举了    # Errors and Exceptions    # 详细文档参考:http://docs.python.org/2/tutorial/errors.html    print('异常处理:')    try:        f = codecs.open("non.py", "rU", "utf-8")        text = f.read()        f.close()    except Exception:        sys.stderr.write('读取文件发生IO异常!\n')    finally:        sys.stderr.write('finnaly执行!\n')    print('------------------------------')    # HTTP:urllib和urlparse    # 详细文档参考:http://docs.python.org/2/library/urllib.html    resp = urlopen('http://baidu.com')    print('以二进制字节流形式读取网页内容:')    print(resp.read().decode('utf-8'))    print('----------------------------------')    print('逐行输出目标网页内容:')    resp = urlopen('http://baidu.com')    for l in resp.readlines():        print(l.decode('utf-8'))    print('----------------------------------')    # resp.info()    print('获取请求元信息:')    print(resp.info())    print('----------------------------------')    # resp.geturl()    print('获取base url:')    print(resp.geturl()) # 不一定是原始URL,可能重定向什么的    print('----------------------------------')    # urllib.urlretrieve(url, filename)    print('下载指定URL的内容到指定文件:')    resp = urlopen(url='http://baidu.com', timeout=30)    fp = open('d:/baidu.txt', 'wb') # 二进制字节流模式写入    fp.write(resp.read())    fp.close()    print('成功下载!')    print('----------------------------------')def main():    utilTest()if __name__ == '__main__':    main()

评论关闭