Python自学-文件处理

来源:互联网 发布:淘宝女童鞋品牌大全 编辑:程序博客网 时间:2024/05/01 23:42

python如何读取文件数据

Python中的基本输入机制都是基于行的:所以说从文本文件中向程序中读取数据时,一次会获得一个数据行。

- open(filePath,mod)內建函数

文件打开函数,filePath为打开文件的路径,mod为打开方式,该函数经常与for...in 控制语句结合使用做一些遍历文件的操作    ```python    file_handle=open('xxx.txt','r')    # do something you like    for each_line in file_handle:        print(each_line)file_handle.close()```如果是文件写入,则使用file_handle=open('xxx.txt','w'),但需要注意的是如果以w方式写文件,如果目标文件不存在,则创建文件并写入,如果文件存在,则是清空该文件并写入新数据,如果要追加数据,那么请以‘a’的方式打开文件file_handle=open('xxx.txt','a')

- seek(off, where=0)函数

从文件中移动off个操作标记(文件指针),如果是正数,往结束方向移动,负数则往开始方向移动。如果设定了where参数,就以where设定的起始位为准,0代表从头开始,1代表当前位置,2代表文件最末尾位置,file_handle.seek(0) 表示回到文件开头

- tell()函数 获得当前文件读取指针的位置
- split(str,num)内建函数

该方法返回一个字符串列表,str 为 分隔符,默认为所有的空字符,包括空格、换行(\n)、制表符(\t)等。num为可选参数,如果有指定值,那么仅分割num个子字符串

python
str="hello,python,i,like,you"
subStrs1=str.split(",")
subStrs2=str.split(",",2)
print(subStrs1)
#结果为['hello', 'python', 'i','like','you']
print(subStrs2)
#结果为['hello', 'python']

  • open 模式

    w 表示写方式,a 为追加模式 (从 EOF 开始, 必要时创建新文件),r+ 为读写模式,w+ 表示读写模式 (参见 w ),a+ 为读写模式 (参见 a ),rb 以二进制读模式,wb 为二进制写模式 (参见 w ),ab 为二进制追加模式(参见 a ),rb+ 为二进制读写模式(参见 r+ ),wb+ 为二进制读写模式 (参见 w+ ),ab+ 为二进制读写模式 (参见 a+ )

  • file_handle.read([size]) size为读取的长度,以byte为单位

  • file_handle.readline([size]) 读一行,如果定义了size,有可能返回的只是一行的一部分

  • file_handle.readlines([size]) 把文件每一行作为一个list的一个成员,并返回这个list。其实它的内部是通过循环调用readline()来实现的。如果提供size参数,size是表示读取内容的总长,也就是说可能只读到文件的一部分。

  • file_handle.write(str) 把str写到文件中,write()并不会在str后加上一个换行符

  • file_handle.writelines(seq) 把seq的内容全部写到文件中(多行一次性写入)。这个函数也只是忠实地写入,不会在每行后面加上任何东西。

  • file_handle.close()
    关闭文件 如果一个文件在关闭后还对其进行操作会产生ValueError

  • file_handle.flush() 把缓冲区的内容写入硬盘

  • file_handle.isatty() 文件是否是一个终端设备文件(unix系统中的)

  • file_handle.next()
    返回下一行,并将文件操作标记位移到下一行。把一个file用于for … in file这样的语句时,就是调用next()函数来实现遍历的。

0 0
原创粉丝点击