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。 字符串,列表,元组的共性问题: 索引:例如有7个元素的序列:从左到右是0到6的索引;从右到左是-1到-7进行索引;序列对象是可迭代的,一次可以访问一个或者多个元素,也叫切片;序列相关操作: 标准类型运算符:值比较(<、>、<=、>=、==、!=);对象身份比较(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()是改变原序列的顺序的; 元组的作用: 在映射类型中当作键使用函数的特殊类型参数作为很多内建函数的返回值 元组作为函数的形式参数: def func(args1, *argst) #第二个参数为可变长的参数,用元组表示 元组作为函数的常见返回类型:可以返回多个数值(例如:return 1,2,3) enumerate() coerce()