Python open()函数文件打开、读、写操作详解
python的文件读写和打开操作都有自己特定的函数和方法,操作起来很简单。下面就来简单的了解下python文件的文件基本操作方法有哪些。
一、Python open()函数文件打开操作
打开文件会用到open函数,标准的python打开文件语法如下:
open(name[,mode[,buffering]])
open函数的文件名是必须的,而模式和缓冲参数都是可选的。比如说有个a.txt的文本文件,存放在c:\text下,那么你要打开它可以这样操作:
>>>x = open(r 'c:\text\a.txt')
用读的模式打开这个路径下的对应文本文件,如果要打开对像不存在,程序会报错。
二、open()函数文件打开模式参数常用值有哪些?
刚才打开文件过程中用到了‘r’这个参数,在文件打开过程中还会用到很多操作方法,都有不同的参数来表示。'r'读模式、'w'写模式、'a'追加模式、'b'二进制模式、'+'读/写模式。
三、python文件写入操作
>>>f = open('a.txt', 'w')
>>>f.write('hello,')
>>>f.write('iplaypython')
>>>f.close()
第一行:用写的方式打开a.txt这个文件,并赋给f (python变量命名规则)
第二行:f.write方法写入( )括号内的内容
第三行:同第二行意义相同,重点要说明下f.write写入的内容会追加到文件中已存在的数据后,也就是就此时的'iplaypython'是在'hello,'后边显示的。
第四行:最后调用close方法关闭文件,有打开就要有关闭。
四、python文件读取操作方法
要进行读文件操作,只需要把模式换成'r'就可以,也可以把模式为空不写参数,也是读的意思,因为程序默认是为'r'的。
>>>f = open('a.txt', 'r')
>>>f.read(5)
'hello'
read( )是读文件的方法,括号内填入要读取的字符数,这里填写的字符数是5,如果填写的是1那么输出的就应该是‘h’。
打开文件文件读取还有一些常用到的技巧方法,像下边这两种:
1、read( ):表示读取全部内容
2、readline( ):表示逐行读取
Python open()函数文件打开、读、写基础操作就先介绍这些,更深入的文件操作方法在今后的文章中会逐一单独介绍。
Python sys模块 argv path常用方法图文详解
SYS模块是Python标准库中自带了一个模块。
sys模块包括了一组非常实用的服务,内含很多函数方法和变量,用来处理Python运行时配置以及资源,从而可以与前当程序之外的系统环境交互,如:Python解释器。
一、导入sys模块操作
首先,打开终端模拟器进入Python解释器或者打开IDE编辑器创建一个新的.py后缀名的Python程序文件。
下面,以解释器中的操作举例:
>>> import sys #导入sys模块
>>> dir(sys) #dir()方法查看模块中可用的方法
注意:如果是在编辑器,一定要注意要事先声明代码的编码方式,否则中文会乱码。
二、sys模块重要函数变量
1 )、 sys.stdin 标准输入流。
2)、sys.stdout 标准输出流。
3 )、 sys.stderr标准错误流。
4 )、sys.path 查找模块所在目录的目录名列表。
5 )、sys.argv 命令行的参数,包括脚本名称。
6 )、sys.platform返回当前系统平台,如:win32、Linux等。
三、sys常用方法使用说明
sys.exit方法可以退出当前的程序,可以提供一个整数类型,通常我们用0表示功能,做为这个方法的参数,
当然也可以用字符串参数,表示错误不成功的报错信息。
sys.modules方法可以将模块的名字映射到实际存在的模块上,它只应用于目前导入的模块。
上面有3个模块变量:sys.stdin、sys.stdout、sys.stderr它们都是类文件(file-like)流对象。
Python time模块函数格式时间操作源码演示
Python标准库中有一个操作时间的模块,叫做 python time模块。
在Python编程语言中,只要涉及到时间日期的操作,就会用到这个time模块。
应用的时候,有2种方式用来表示时间:
1 )、时间戳
2 )、格式化的时间str(字符串)
3 )、元组 (struct_time)以及calendar
要注意的是元组struct_time有9个元素,它们的索引的内容如下:
[索引] [属性] [值]
0 tm_year(年) 比如:2013
1 tm_mon(月) 1~12
2 tm_mday(日) 1~31
3 tm_hour(小时) 0~23
4 tm_min(分钟) 0~59
5 tm_sec(秒) 0~59
6 tm_wday(周) 0~6 (0是周日,依此类推)
7 tm_yday (一年中第几天,1~366)
8 tm_isdst(夏令制) (默认为-1)
下面讲time模块的常用函数:
1.time.localtime([secs]) :这个函数的作用是将时间戳,转换成当前时区的时间结构,返回的是一个元组。secs参数如果没有提供的话,系统默认会以当前时间做为参数。
2.time.time() 这个模块的核心之一就是time(),它会把从纪元开始以来的秒数作为一个float值返回。
3.time.ctime() 将一个时间戳,转换为一个时间的字符串。
4.time.sleep() 经常在写程序的想让程序暂停一下再运行,这个时间sleep()方法就派上用场了,它可以让程序休眠,参数是以秒计算。
5.time.clock() 返回浮点数,可以计算程序运行的总时间,也可以用来计算两次clock()之间的间隔。
6.time.strftime() 将strume_time这个元组,根据你规定的格式,输邮字符串。
在类Linux系统上我们使用time模块的time()方法,会比用clock()方法,精度更高一些,在Windows系统中用time.clock()能获得更准确的时间。
这是因为每个系统平台,它们彼此的系统时钟实现方式不同。
Python pickle模块数据对象持久化操作
Python pickle模块作用是持久化的储存数据。
经常遇到在Python程序运行中得到了一些字符串、列表、字典等数据,想要长久的保存下来,方便以后使用,而不是简单的放入内存中关机断电就丢失数据。python模块大全中的Pickle模块就派上用场了,它可以将对象转换为一种可以传输或存储的格式。
Pickle模块将任意一个Python对象转换成一系统字节的这个操作过程叫做串行化对象。
前者是完全用Python来实现的模块,这个CPickle是用C来实现的,它的速度要比pickle快好多倍,一般建议如果电脑中只要有CPickle的话都应该使用它。
在Pickle模块中有2个常用的函数方法,一个叫做dump(),另一个叫做load()。
第三部分,玩蛇网先给大家讲解一下 pickle.dump()方法:
这个方法的语法是:pickle.dump(对象, 文件,[使用协议])
提示:将要持久化的数据“对象”,保存到“文件”中,使用有3种,索引0为ASCII,1是旧式2进制,2是新式2进制协议,不同之处在于后者更高效一些。
默认的话dump方法使用0做协议。
load()方法的作用正好与上面的dump()方法相反,上面是序列化数据,这个方法作用是反序列化。
语法:pickle.load(文件)
提示:从“文件”中,读取字符串,将它们反序列化转换为Python的数据对象,可以正常像操作数据类型的这些方法来操作它们。
Python json解析模块loads/dumps中文encode教程
无论是利用python开发还是其它语言开发的很多大中型网都在采用json格式来交换数据,Python标准库中有一个专门解析这个数据格式的模块就叫做:json模块。
JSON格式是一种轻量级别的数据交换格式,容易被人识别和机器用来解析,它的全称叫做 JavaScriptObject Notation。
python json模块提供了和pickle python相似的API接口,可以将内存中的Python对象转换为一个串行化表示,被叫作json。json最广泛的应用于AJAX应用中的WEB服务器和客户端之间的通信,也可以用于其它程序的应用中。
玩蛇网Leo在这里使用json.dumps方法,将一个Python数据类型列表进行json格式的编码解析,
示例如下:
>>> import json#导入python 中的json模块
>>> l = [‘iplaypython’,[1,2,3], {‘name’:’xiaoming’}] #创建一个l列表
>>> encoded_json = json.dumps(l) # 将l列表,进行json格式化编码
>>> print repr(i)
>>> print encoded_json #输出结果
这样我们就将一个list列表对象,进行了json格式的编码转换。
解码python json格式,可以用这个模块的json.loads()函数的解析方法,
示例如下:
>>> decode_json= json.loads(encoded_json)
>>> print type(decode_json) #查看一下解码后的对象类型
>>> print decode_json #输出结果
Python re正则表达式操作指南
python re正则表达式模块中文简介:
python re模块(Regular Expression正则表达式)提供了与Perl等编程语言类似的正则匹配操作,
它是一个处理pythonpython字符串的强有力工具,有自己的语法和独立的处理引擎。几乎所有的编程语言中,正则表达式的语法都是一样的,区别只在于它们实现支持的正则表达式语法的数量不一样。
. 匹配任意除换行符,也就是“\n”以外的任何字符。
\ 转义符,改变原来符号含义,后面会有演示。
[ ] 中括号用来创建一个字符集,第一个出现字符如果是^,表示反向匹配。
\d 匹配数字,如:[0-9]
\D 与上面正好相反,匹配所有非数字字符。
\s 空白字符,如:空格,\t\r\n\f\v等。
\S 非空白字符。
\w 单词字符,如:大写A~Z,小写a~z,数字0~9。
\W 非上面这些字符。
* 匹配前一个字符0次或无限次数。
+ 匹配前一个字符1次或无限次数。
? 匹配前一个字符0次或1次。
{m} 匹配前一个字符m次。
{m,n} 匹配前一个字符m至n次。
1 )、compile() 根据正则表达式字符串,创建模式的对象。
2 )、search() 在字符串中寻找模式。
3 )、match() 在字符串开始处匹配模式。
4 )、split() 根据模式的匹配项来分割字符串。
5 )、findall() 显示出字符串中模式的所有匹配项。
6 )、sub(old,new) 方法的功能是,用将所有old的匹配项用new替换掉。
7 )、escape() 将字符串中所有特殊正则表达式字符转义。
re.compile()方法功能是将正则表达式转换为re的模式对象,更高效率的匹配字符串。
re.search() 方法会在给定的字符串中,寻找第一个匹配的正则表达式子串。
函数找到子字符串的话会返回MatchObject,值为 True,找不到会返回None,值为False。
re.match() 函数会在字符串的最开始部分进行匹配。
re.split() 函数会根据模式的匹配项来分割字符串,类似于我们字符串的split方法,不过它是用完整的正则表达式来替代了固定的分隔符。
re.findall() 会以列表的形式返回给定模式的所有匹配项。
re.escape()是一个很实用的函数,它可以对我们要查找的字符串中所有可能会被解释为正则运算符的字符进行转义。
这里只介绍了一些python正则表达式指南,在我们编程过程中的方方面面,都会被使用到,所以,它也是我们每一个编程爱好者必会的一种技能,尤其是网络抓取,匹配我们需要的信息,如:汉字、标题、邮箱、电话、产品价格等信息时,更会突出它的作用。
Python 集合set()添加删除、交集、并集、集合操作详解
在Pythonset是基本数据类型的一种集合类型,它有可变集合(set())和不可变集合(frozenset)两种。创建集合set、集合set添加、集合删除、交集、并集、差集的操作都是非常实用的方法。
python set类是在python的sets模块中,大家现在使用的python2.3中,不需要导入sets模块可以直接创建集合。
>>>set('boy')
set(['y', 'b', 'o'])
集合的添加有两种常用方法,分别是add和update。
集合add方法:是把要传入的元素做为一个整个添加到集合中,例如:
>>> a = set('boy')
>>> a.add('python')
>>> a
set(['y', 'python', 'b', 'o'])
集合update方法:是把要传入的元素拆分,做为个体传入到集合中,例如:
>>> a = set('boy')
>>> a.update('python')
>>> a
set(['b', 'h', 'o', 'n', 'p', 't', 'y'])
集合删除操作方法:remove
set(['y', 'python', 'b', 'o'])
>>> a.remove('python')
>>> a
set(['y', 'b', 'o'])
集合的交集“&”、合集(并集)“|”、差集“-”。
像列表、字典、字符串这类可迭代的对像都可以做为集合的参数。set集合是无序的,不能通过索引和切片来做一些操作。