zoukankan      html  css  js  c++  java
  • python爬虫【第1篇】

    一、文件读写

    1.打开文件

    # 以读文件模式代开new.txt
    
    f=open(r"c:
    ew.txt",“r”)
     
    f=open("c:
    ew.txt",“r”)

    常见文件读取模式:‘r’-读模式;‘w’-写模式;‘a’-追加模式;‘b’-二进制模式;‘+’-读/写模式

    更多文件读取模式:http://www.runoob.com/python/python-files-io.html

    file对象的属性:

    file.closed     返回true如果文件已被关闭,否则返回false。
    file.mode      返回被打开文件的访问模式。
    file.name      返回文件的名称。
    file.softspace  如果用print输出后,必须跟一个空格符,则返回false。否则返回true

    详见实例:

    #!/usr/bin/python
    # -*- coding: UTF-8 -*-
     
    # 打开一个文件
    fo = open("foo.txt", "w")
    print "文件名: ", fo.name
    print "是否已关闭 : ", fo.closed
    print "访问模式 : ", fo.mode
    print "末尾是否强制加空格 : ", fo.softspace
    
    返回结果如下:
    文件名:  foo.txt
    是否已关闭 :  False
    访问模式 :  w
    末尾是否强制加空格 :  0

    2.文件读取

    ①.file.read([size])      size未指定则返回整个文件,如果文件大小>2倍内存则有问题.f.read()读到文件尾时返回""(空字串)
    
    ②.file.readline()       返回一行
    
    ③.file.readlines([size])   返回包含size行的列表,size 未指定则返回全部行
    
    ④.for line in f: 
      
       print line #通过迭代器访问

    3.文件写入

    f.write("hello
    ")   #如果要写入字符串以外的数据,先将他转换为字符串.

    4.文件关闭

    f.close()     关闭文件

    5.更多file对象方法:

    f.tell()   返回一个整数,表示当前文件指针的位置(就是到文件头的比特数).
    
    f.seek(偏移量,[起始位置]) 用来移动文件指针.
    
      偏移量:单位:比特,可正可负
      起始位置:0-文件头,默认值;1-当前位置;2-文件尾

    省略写法:

    with open(‘C:new.txt’,‘r’) as f:
        f.write()

    二、文件及目录操作方法

    os.getcwd()    # 获取当前python脚本工作目录路径
    os.listdir(path)    # 返回指定目录下的所有文件及目录名
    os.remove(filepath)    # 删除1个文件
    os.removedirs(r"d:python")    #删除多个空目录
    os.path。isfile(filepath)    #检验路径是否是一个文件
    os.path.isdir(filepath)    #检验路径是否是一个目录
    os.path.isabs()    #判断是否为绝对路径
    os.path.exists()    #检验路径是否存在
    os.path.split()    #分离一个路径的目录名和文件名,如:
    os.path.split(r"/home/new.txt")
    返回结果为:(‘/home’,‘new.txt’)

    os.path.splitext()    #分离扩展名,如:
    os.path.splitext(r"/home/new.txt")
    返回结果为:(‘/home/new’,'.txt')

    os.path.dirname(filepath)    #获取路径名
    os.path.basename(filepath)    #获取文件名
    os.rename(old,new)    #重命名文件或目录
    os.makedirs(r"c:|python、test")    #创建多级目录
    os.makedir("test")    #创建单个目录
    os.path.getsize(filename)    #获取文件大小
    shutil.copytree('olddir','newdir')    #复制文件夹
    shutil.copyfile('oldfile','newfile')    #复制文件
    shuti.move('oldpos','newpos')    #移动文件
    os.rmdir('dir')    #删除空目录

    三、序列化

      序列化:把内存中的变量编程可存储或可传输的过程。

      反序列化:把变量内容从序列化的对象重新读取到内存的过程。

      Python中有2个模块,可实现序列化,即:cPickle、pickle,前者效率较高

    1.dumps()方法

    功能:将任意对象序列化成一个str,然后将这个str写入文件进行保存。
    
    import pickle
    
    d = dict(url = ‘index.html’,title = ‘首页’,content = ‘首页’)
    pickle。dumps(d)

    2.dump()方法

    功能:将序列化后的文件直接写入文件
    
    f = open(r'D:
    ew.txt',‘wb’)
    pickle.dump(d,f)
    f.close()

    3.loads()与load()方法

    loads()功能:将str反序列化为对象
    load()功能:将文件直接反序列化为对象
    
    f = open(r'D:
    ew.txt','rb')
    d = pickle.load(f)
    f.cloese
  • 相关阅读:
    音乐商店
    sort函数
    优先队列
    畅通工程 并查集,最小生成树,最短路径
    线段树(segment tree )
    bfs
    完全背包
    【Matlab】向图像域添加噪声/高斯/均匀/伽马/指数/椒盐
    【手帐】Bullet Journal教程
    【Matlab】取整函数:fix/round/floor/ceil
  • 原文地址:https://www.cnblogs.com/loser1949/p/9211054.html
Copyright © 2011-2022 走看看