三、Python2.x 数据的获取与表示

3.1本地数据获取
注意,打开文件要记得关闭文件
文件的打开
      file_obj = open(filename,mode = 'r',buffering = -1)
     filename:强制参数,必须要有的参数
     mode:为可选参数,模式参数,默认为'r'也就是读;'w'为写

     buffering: 可选参数,默认为-1, 0代表不缓冲,1或大于1的值表示缓冲一行或指定缓冲区大小 ,注意,为了读写速度快,使用缓冲

调用open()函数返回的是一个文件(file)对象
     文件对象可迭代,因此可以遍历其中每一个子项
     有关闭方法和许多读写相关的方法/函数
          f.read(),f.write(),f.readline(),f.readlines(),f.writelines()
          f.close()
          f.seek()
写文件
file_obj.write(str):将一个字符串写入文件
读文件
file_obj.read(size)
     从文件中至多读出size字节数据,返回一个字符串
file_obj.read()
     读文件直到文件结束,返回一个字符串
其他读写函数
     file_obj.readlines()       #将数据从文件中一行一行地读出来,返回一个列表(注意,这里并不删除换行符,同样写的时候也不会加入换行符需要自己加入)
     file_obj.readline()
     file_obj.writelines()
其他文件相关函数
     file_obj.seek(offset,whence = 0)
          在文件中移动文件指针,从whence( 0表文件头部,1表当前位置,2表文件尾部)偏移offset个字节
          whence参数可选,默认值为0
          例如f.seek(1,50)  表示从当前位置向后移动50个字节
标准文件
当程序启动后,一下三种标准文件有效
     stdin     标准输人
     stdout     标准输出
     stderr     标准错误
补充资料
Python中的os模块提供了执行文件和目录处理操作的函数,例如重命名和删除文件。
要使用这个模块,必须先导入该模块,然后才可以调用相关的各种功能。
import os
os.renames(current_file_name,new_file_name)           #文件重命名
os.remove(file_name)                         #删除文件
os.mkdir(newdir)                   #创建目录
os.chdir(newdir)                    #改变目录
os.getcwd()                          #获得当前路径
os.rmdir(dirname)                #删除目录
3.2网络数据的获取
抓取网页,解析网页内容,以下是Python的标准库
     urllib
     urllib2                       #可以用来处理更底层的应用
     httplib
httplib2                          #http的专用库
利用urllib库获取网络数据
     可以通过urllib.urlopen()函数 获取网络数据到本地    #urllib.urlopen('网址')
     使用接下来的函数进行处理:    
          f.read(),f.readline(),f.readlines()
          f.close()
          其中还可以结合正则表达式等方式
3.3序列
序列是Python最基本的数据结构,共有6中序列,其中常用的有字符串,列表和元组。
序列中每个元素都有一个跟位置相关的序号,称之为 索引。对于一个有N个元素的序列来说,第一个元素的索引从0开始,最后一个为N-1;当然也可以从最后一个元素开始计数,最后一个为-1,那么第一个就为-N。
字符串,列表,元组的共性问题:
  1.  索引:例如有7个元素的序列:从左到右是0到6的索引;从右到左是-1到-7进行索引;
  2. 序列对象是可迭代的,一次可以访问一个或者多个元素,也叫切片
  3. 序列相关操作:
        • 标准类型运算符:值比较(<、>、<=、>=、==、!=);对象身份比较(is、is not);布尔运算(not、and、or)
        • 序列类型运算符:获取([::,-1]表示逆序);重复(*);连接(+);判断(in)
        • 内建函数:序列类型转换工厂函数(list()——转成列表、str() 、tuple() ——转成元组、unicode() 、basestring() );序列类型可用内建函数(len() ——计算参数的长度、sorted() ——排序、sum() 、max() 、min() 、zip() 、reversed() 、enumerate() )
3.4字符串
字符串的不同表示形式:单引号、双引号、和三引号都可以表示
     在三引号的字符串里面,用单引号或者双引号的话都不需要进行特殊处理
     用r''表示原始字符串非常适合用于路径的字符串,非常方便

输出通常会使用到 格式运算符
     eg:print 'There are %d punctuation marks.'%( count)
     格式运算符的形式:format_string %(arguments_to_convert)
字符串的应用:
     reversed(字符串)——字符串逆序
     cmp(字符串1,字符串2)——比较两个字符串
     split()——可以用于获取双引号当里的字符串:split('\"')[1]  #用双引号作为分隔符,这样字符串就会被分成三段,而第二段,也就是索引为1的就是双引号里的字符串了
转义字符
  • \o              空字符
  • \a              响铃
  • \b              退格
  • \t               横向制表符
  • \v               纵向制表符
  • \n              换行
  • \f               换页
  • \r               回车
  • \e              转义
  • \"              双引号
  • \'               单引号
  • \\              反斜杠
  • \(在行尾时)    续行符
  • \ooo         八进制数ooo代表的字符
  • \xxx          十六进制数xx代表的字符

3.5列表
列表是一种可扩展的容器对象,包含不同类型对象,元素可变
列表的操作处理:
     sort(a)                            #默认为将列表元素 从小到大排序,其中,参数 reverse=true,则为从大到小排序;参数key = len,一般用于字符串列表按字符串长度排序
     pop(a)                            #返回剔除的元素
     append(a)                      #只有一个参数a,将a添加至列表末尾
     extend(a)                       #合并列表,列表1.extend(列表2):将列表2加入到列表1的末尾        #只有一个参数a,只能添加至末尾,可以以列表的形式添加多个元素,一个列表拓展另一列表
     enumerate(list )             #默认序号是从0开始,用序号分出并且分开显示
     count(a)                        #返回列表元素a的个数
     index(a)                         #返回列表元素a所在的第一个索引
     reverse(list1)                 #将list1列表倒转,即第一个元素为最后一个元素,第二个为倒数第二个~~
     insert(a,b)                     #a表示添加的位置,b表示添加的元素,注意,a位置是按0,1,2,3说明的
     remove(a)                     #删除元素a
     zip(a)                            #将列表的每个元素都变成一个元组,再由这些元组作为新的列表的元素进行生产一个列表副本,不改变原来的列表 

列表解析:由多个for循环以及可迭代的序列构成,另外也可以加条件
     eg:for expr in sequence
     [x**2 for x in range(10)]       >>>>结果:[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]

3.6元组
和列表有点像,但是是用 圆括号表示,元组元素是 不可变的。
元组的一般使用和列表相似,可以进行切片,计算长度
元组的创建:
     用逗号创建:
sorted()        #该函数是产生一个默认从小到大排序 序列副本,并不改变原序列的顺序,可用于对元组进行操作;注意和sort()不同,sort()是改变原序列的顺序的;
元组的作用:
  1. 在映射类型中当作键使用
  2. 函数的特殊类型参数
  3. 作为很多内建函数的返回值

元组作为函数的形式参数:
     def func(args1, *argst)       #第二个参数为可变长的参数,用元组表示
元组作为函数的常见返回类型:可以返回多个数值(例如:return 1,2,3)
     enumerate()
     coerce()

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值