关闭

python基础(1):文件的读取、创建、追加、删除、清空

546人阅读 评论(0) 收藏 举报
分类:
2011-08-29 05:05

python基础(1):文件的读取、创建、追加、删除、清空

 

转载请注明出处:http://hi.baidu.com/leejun_2005/blog/item/f430c402ca3bb4f709fa93d5.html?timeStamp=1314566313840

from:http://hi.baidu.com/jxq61/blog/item/9520011362d13acda6ef3f2e.html

from: http://hi.baidu.com/ylj798/blog/item/50313eb3da0b5fa0d9335af3.html

一、用Python创建一个新文件,内容是从0到9的整数, 每个数字占一行:
#python
>>>f=open('f.txt','w')    # r只读,w可写,a追加
>>>for i in range(0,10):f.write(str(i)+'\n')
.  .  .
>>> f.close()

二、文件内容追加,从0到9的10个随机整数:
#python
>>>import random
>>>f=open('f.txt','a')
>>>for i in range(0,10):f.write(str(random.randint(0,9)))
.  .  .
>>>f.write('\n')
>>>f.close()

三、文件内容追加,从0到9的随机整数, 10个数字一行,共10行:
#python
>>> import random
>>> f=open('f.txt','a')
>>> for i in range(0,10):
.  .  .     for i in range(0,10):f.write(str(random.randint(0,9)))
.  .  .     f.write('\n')   
.  .  .
>>> f.close()

四、把标准输出定向到文件:
#python
>>> import sys
>>> sys.stdout = open("stdout.txt", "w")
>>>  . . .

五、文件的读写

一、文件打开:

f = file(name[, mode[, buffering]])

入口参数:   name 文件名

                  mode   选项,字符串

                  buffering   是否缓冲 (0=不缓冲,1=缓冲, >1的int数=缓冲区大小)

返回值 : 文件对象

mode 选项:

"r"   以读方式打开,只能读文件 , 如果文件不存在,会发生异常     

"w" 以写方式打开,只能写文件, 如果文件不存在,创建该文件

                                                     如果文件已存在,先清空,再打开文件

"rb"   以二进制读方式打开,只能读文件 , 如果文件不存在,会发生异常     

"wb" 以二进制写方式打开,只能写文件, 如果文件不存在,创建该文件

                                                     如果文件已存在,先清空,再打开文件

"rt"   以文本读方式打开,只能读文件 , 如果文件不存在,会发生异常     

"wt" 以文本写方式打开,只能写文件, 如果文件不存在,创建该文件

                                                     如果文件已存在,先清空,再打开文件

"rb+"   以二进制读方式打开,可以读、写文件 , 如果文件不存在,会发生异常     

"wb+" 以二进制写方式打开,可以读、写文件, 如果文件不存在,创建该文件

                                                     如果文件已存在,先清空,再打开文件

二、关闭文件

f.close()

当文件读写完毕后,应关闭文件。

三、清空文件内容

f.truncate()

注意:仅当以 "r+"   "rb+"    "w"   "wb" "wb+"等以可写模式打开的文件才可以执行该功能。

四、文件的指针定位与查询

(1)文件指针:

      文件被打开后,其对象保存在 f 中, 它会记住文件的当前位置,以便于执行读、写操作,这个位置称为文件的指针( 一个从文件头部开始计算的字节数 long 类型 )。

(2)文件打开时的位置:

      以"r"   "r+"   "rb+" 读方式, "w"   "w+"   "wb+"写方式 打开的文件,

     一开始,文件指针均指向文件的头部。

(3) 获取文件指针的值:

      L = f.tell()

(4) 移动文件的指针

       f.seek(   偏移量, 选项 )

      选项 =0 时, 表示将文件指针指向从文件头部到 "偏移量"字节处。

      选项 =1 时, 表示将文件指针指向从文件的当前位置,向后移动 "偏移量"字节。

      选项 =2 时, 表示将文件指针指向从文件的尾部,,向前移动 "偏移量"字节。

五、从文件读取指内容  

1 文本文件(以"rt"方式打开的文件)的读取 

          s = f.readline(     )

        返回值: s 是字符串,从文件中读取的一行,含行结束符。

        说明: (1)  如果 len( s ) =0 表示已到文件尾

                    (2)   如果是文件的最后一行,有可能没有行结束符

2 二进制文件(以"rb"、"rb+"、"wb+" 方式打开的文件)的读取 

          s = f.read(    n )

  

     说明: (1)  如果 len( s ) =0 表示已到文件尾

                  (2)   文件读取后,文件的指针向后移动 len(s) 字节。

                (3)如果磁道已坏,会发生异常。

六、向文件写入一个字符串  

    f.write(    s )

    参数:       s 要写入的字符串

    说明: (1)文件写入后,文件的指针向后移动 len(s) 字节。

                 (2)如果磁道已坏,或磁盘已满会发生异常。

     

返回值: s 是字符串,从文件中读取的内容

七、删除文件

import os

os.remove(file)

 

0
0

查看评论
* 以上用户言论只代表其个人观点,不代表CSDN网站的观点或立场
    个人资料
    • 访问:633883次
    • 积分:9459
    • 等级:
    • 排名:第2015名
    • 原创:208篇
    • 转载:870篇
    • 译文:1篇
    • 评论:44条
    最新评论