python文件操作

1.打开文件 filename,从里面读东西

f = file("filename","r")

注意:

  • 或读'r'是默认的参数,因此可以省略参数:f = file("finename")
  • 文件操作file()和open()是一样的,因此可以互换:f = open("filename")

逐行读入

      for line in f:

读一行:line = f.readline()

      这样回把最后的换行符(假设有)读入,去(即等价于操作:line = line[:-1] 或 line = line.strip("\n"))

读取指定的一行:

import  linecache
print linecache.getline("文件名",第几行)

读所有内容:line = f.read()

 

2.打开文件filename,往里面写东西

打开:f = file("filename","w")  #这样里面原来的东西全部清空,如果没有文件,自动生成

写入: f.write("文件名", 'w').

         如果在原来基础上最后继续写,用参数'a',即 f.write('文件名', 'a')

eg:写到具体某个文件夹下,例如D:\hello:

path = "D:\hao"
f = file(path + "filename","w") 
f.write("内容")

 

3.关闭打开的文件:

 f.close()

 

4. 读取制定位置的字符

f = file("1.txt") 打开了文件指针指到了第0个字符。假设1.txt的内容为:

0123456789

1)f.seek(2,0)     #从开始位置往后移动2个位置

      print f.read()  #结果 "23456789"

2)f.seek(-2,2)    #从最后位置往前移动2个位置

     print f.read()   #结果 "89"

3)f.seek(0)

    f.read()

     f.seek(-2,2)

     f.seek(1,1)      #从当前位置“8”往前指一个位置

     print f.read()   #结果"9"

小节:f.seek(0)定位到第一个位置

        f.seek(m,n)#n = 0从第一个位置移动m个位置

          #n = 2从最后一个位置移动m个位置

                        #n = 1从当前位置移动过m个位置

4)f.read(m) #从当前位置读取m个字符

5)f.tell()      #记录光标的位置

6)f.closed   # 检验文件是否已关闭,是True,否 False


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() 关闭文件

Code:


#!/usr/bin/env python
# Filename: using_file.py

poem='''\Programming is funWhen the work is doneif you wanna make your work also fun: use Python!'''
f=file('poem.txt','w') # open for 'w'riting
f.write(poem) # write text to file
f.close() # close the file
f=file('poem.txt')

# if no mode is specified, 'r'ead mode is assumed by default
while True: 
line=f.readline() 
if len(line)==0: # Zero length indicates EOF 
break 
print line, 
# Notice comma to avoid automatic newline added by Python
f.close() 
# close the file

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值