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
第二行: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()函数文件打开、读、写基础操作就先介绍这些,更深入的文件操作方法在今后的文章中会逐一单独介绍。

*************************************************************************************************************************************************





*************************************************************************************************************************************************

open/文件操作
f=open('/tmp/hello','w')

#open(路径+文件名,读写模式)

#读写模式:r只读,r+读写,w新建(会覆盖原有文件),a追加,b二进制文件.常用模式

如:'rb','wb','r+b'等等

读写模式的类型有:

rU 或 Ua 以读方式打开, 同时提供通用换行符支持 (PEP 278)
w     以写方式打开,
a     以追加模式打开 (从 EOF 开始, 必要时创建新文件)
r+     以读写模式打开
w+     以读写模式打开 (参见 w )
a+     以读写模式打开 (参见 a )
rb     以二进制读模式打开
wb     以二进制写模式打开 (参见 w )
ab     以二进制追加模式打开 (参见 a )
rb+    以二进制读写模式打开 (参见 r+ )
wb+    以二进制读写模式打开 (参见 w+ )
ab+    以二进制读写模式打开 (参见 a+ )


注意:

1、使用'W',文件若存在,首先要清空,然后(重新)创建,

2、使用'a'模式 ,把所有要写入文件的数据都追加到文件的末尾,即使你使用了seek()指向文件的其他地方,如果文件不存在,将自动被创建。



f.read([size]) size未指定则返回整个文件,如果文件大小>2倍内存则有问题.f.read()读到文件尾时返回""(空字串)

file.readline() 返回一行

file.readline([size]) 返回包含size行的列表,size 未指定则返回全部行

for line in f: print line #通过迭代器访问

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

f.tell() 返回一个整数,表示当前文件指针的位置(就是到文件头的比特数).

f.seek(偏移量,[起始位置])

用来移动文件指针

偏移量:单位:比特,可正可负

起始位置:0-文件头,默认值;1-当前位置;2-文件尾

f.close() 关闭文件

*************************************************************************************************************************************************





*************************************************************************************************************************************************

open()函数

一般情况下,使用open()函数时只需要调入文件名参数,而不添加其它任何参数,就可以获取文件内容。相反,如果要向文件中添加信息,就必须制定一个模式参数,用来声明它准备做什么,这个模式参数才是open()的灵魂。以下下代码是open()函数的使用语法:

open(name[,mode[,buffering]])

其中,name参数表示需要打开的文件名称,mode是打开模式,open()函数的第三个参数用来控制文件的缓冲,默认值为0,表示不缓冲,设置为1就会有缓冲。以下是open()函数的几个模式值

  
  
  1. 参数 描述
  2.  
  3. r 读取模式打开文件
  4.  
  5. w 读写模式打开文件
  6.  
  7. a 写入模式打开文件
  8.  
  9. b 二进制模式打开文件(可以和其他模式并用)
  10.  
  11. + /写模式(可以和其他模式并用)
  12.  
  13. U 支持换行符(例如:\n\r \n\r )

也就是说当我们使用open()函数打开文件时,程序首先会查询open()函数的文件名称,然后才是文件的模式。文件模式是相当重要的一个参数。默认情况下,该函数的默认模式参数为r,用来只读打开文件,如果读取特殊文件(例如视频或者图片文件),那么必须使用b模式。

  
  
  1. #-*-coding:utf-8-*-
  2. #Python 模板
  3. o=open('index.txt','w');
  4. o.write("大家好,欢迎光临坤子的博客(www.xuyukun.com)!")
  5. o.close();

在上述代码中,首先使用open()函数来打开index.txt文件,以读写模式打开,这样就可以对文件进行读写操作了。打开文后返回一个文件对象,然后调用write()函数写入信息,最后调用close()关闭文件


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值