zoukankan      html  css  js  c++  java
  • python的文件对象(1)

    1  首先要明确的是,文件只是连续的字节。

        数据的传输经常会用到字节流,无论字节流是由单个字节还是大块数据组成。


    2  打开文件之门的钥匙——open()

        open()内建函数成功打开文件后会返回一个文件对象。基本语法如下:

    file_object = open(file_name, access_mode='r', buffering=-1)
    需要注意的是,当access_mode = ‘w’时,若所指定的文件已经存在,则python会先清空这个文件,然后再等待执行写操作。所以如果是修改文件,应该用'a'

        open()方法执行并返回一个文件对象之后,所有对该文件的后续操作都将通过这个“句柄”进行。

        
    3  readline()方法:读取打开文件的一行,包括行结束符,作为字符串返回。

        readlines()方法会读取剩余的所有行,然后把它们作为一个字符串列表返回。

        write()方法:把含有文本数据或二进制数据块的字符串写入到文件中。

        writelines()方法:针对列表的操作,接受一个字符串列表作为参数,将它们写入文件。    注意:行结束符并不会被自动加入。


    注意:当使用输入方法如read()或者readline()从文件中读取行时,python并不会删除行结束符。因此需要这样写:

    f = open('myFile', 'r')
    data = [line.strip() for line in f.readlines()]
    f.close()
    类似的,输出方法write()或writelines()也不会自动加入行结束符。


    4  seek()方法:在文件中移动文件文件指针到不同的位置。offset字节代表相对于某个位置偏移量,默认值0代表从文件开头算起,1代表从当前位置算起,2代表从文件末尾算起。  那当offset为1时,如何知道当前的文件指针在什么位置呢,这个由text()方法来实现。


    5  文件迭代

    for eachLine in f:
     
    # 下面的也可以,但不是通过迭代器实现,不如上面的代码高效
    
    for eachLine in f.readline() 

    6  关于换行符

        print语句默认在输出内容末尾后加一个换行符,而在语句后加一个逗号就可以避免这样的行为。



  • 相关阅读:
    获取MySQL各版本yum源 并安装
    CentOS 防火墙实用操作
    简单3步将你的python转成exe格式
    java 实现扑克牌打印
    java 一维数组的总结笔记
    java中如何理解:其他类型 + string 与 自增类型转换和赋值类型转换
    c语言 0与非0
    Python中nonlocal的用法
    Python基础系列讲解-自动控制windows桌面
    flask_caching 缓存
  • 原文地址:https://www.cnblogs.com/suzhou/p/3638980.html
Copyright © 2011-2022 走看看