zoukankan      html  css  js  c++  java
  • 文件操作

    对文件操作流程

    1. 打开文件,得到文件句柄并赋值给一个变量
    2. 通过句柄对文件进行操作
    3. 关闭文件 

    基本操作

    1.f = open('lyrics'#打开文

    2.first_line = f.readline()

    3.print('first line:',first_line) #读一行 

    4.print('我是分隔线'.center(50,'-'))

    5.data = f.read()# 读取剩下的所有内容,文件大时不要用
    6.print(data) #打印文件
    7.f.close() #关闭文件

    打开文件的模式有:

    • r,只读模式(默认)。
    • w,只写模式。【不可读;不存在则创建;存在则删除内容;】
    • a,追加模式。【可读;   不存在则创建;存在则只追加内容;】

    "+" 表示可以同时读写某个文件

    • r+,可读写文件。【可读;可写;可追加】
    • w+,写读
    • a+,同a

    "U"表示在读取时,可以将 自动转换成 (与 r 或 r+ 模式同使用)

    • rU
    • r+U

    "b"表示处理二进制文件(如:FTP发送上传ISO镜像文件,linux可忽略,windows处理二进制文件时需标注)

    • rb
    • wb
    • ab
    其它语法
    def close(self): # real signature unknown; restored from __doc__
            """
            Close the file.
            
            A closed file cannot be used for further I/O operations.  close() may be
            called more than once without error.#关闭的文件不能用于进一步的I/O操作。()可以被称为一次以上无误。
            """
            pass
    
        def fileno(self, *args, **kwargs): # real signature unknown
            """ Return the underlying file descriptor (an integer). """#返回文件描述符(一个整数)
            pass
    
        def isatty(self, *args, **kwargs): # real signature unknown
            """ True if the file is connected to a TTY device. """
            pass
    
        def read(self, size=-1): # known case of _io.FileIO.read
            """
            注意,不一定能全读回来
            Read at most size bytes, returned as bytes.
            
            Only makes one system call, so less data may be returned than requested.
            In non-blocking mode, returns None if no data is available.
            Return an empty bytes object at EOF.
            """
            return ""
    
        def readable(self, *args, **kwargs): # real signature unknown
            """ True if file was opened in a read mode. """
            pass
    
        def readall(self, *args, **kwargs): # real signature unknown
            """
            Read all data from the file, returned as bytes.
            
            In non-blocking mode, returns as much as is immediately available,
            or None if no data is available.  Return an empty bytes object at EOF. #从文件中读取所有数据,作为字节返回。
                                                                                   #在非阻塞模式下,返回的值与当前可用的一样多,
                                                                                   #或无,如果没有可用的数据。在EOF中返回空字节对象。
            """
            pass
    
        def readinto(self): # real signature unknown; restored from __doc__
            """ Same as RawIOBase.readinto(). """
            pass #不要用,没人知道它是干嘛用的
    
        def seek(self, *args, **kwargs): # real signature unknown
            """
            Move to new file position and return the file position.#移动到新文件位置并返回文件位置。
            
            Argument offset is a byte count.  Optional argument whence defaults to
            SEEK_SET or 0 (offset from start of file, offset should be >= 0); other values
            are SEEK_CUR or 1 (move relative to current position, positive or negative),
            and SEEK_END or 2 (move relative to end of file, usually negative, although
            many platforms allow seeking beyond the end of a file).
            
            Note that not all file objects are seekable.
            """
            pass
    
        def seekable(self, *args, **kwargs): # real signature unknown
            """ True if file supports random-access. """
            pass
    
        def tell(self, *args, **kwargs): # real signature unknown
            """
            Current file position.#当前文件位置
            
            Can raise OSError for non seekable files.
            """
            pass
    
        def truncate(self, *args, **kwargs): # real signature unknown
            """
            Truncate the file to at most size bytes and return the truncated size.#将文件截断到最多大小的字节并返回截断的大小。
            
            Size defaults to the current file position, as returned by tell().
            The current file position is changed to the value of size.
            """
            pass
    
        def writable(self, *args, **kwargs): # real signature unknown
            """ True if file was opened in a write mode. """
            pass
    
        def write(self, *args, **kwargs): # real signature unknown
            """
            Write bytes b to file, return number written.
            
            Only makes one system call, so not all of the data may be written.
            The number of bytes actually written is returned.  In non-blocking mode,
            returns None if the write would block.
            """
            pass
    View Code

    with语句

    为了避免打开文件后忘记关闭,可以通过管理上下文,即:

    with open('log','r') as f: 
            pass    

    如此方式,当with代码块执行完毕时,内部会自动关闭并释放文件资源。

    在Python 2.7 后,with又支持同时对多个文件的上下文进行管理,即:

    with open('log1') as obj1, open('log2') as obj2:
            pass    

     

  • 相关阅读:
    wp7 db
    wp7 webpair
    wp7 弹出动画
    wp7 执行独立存储任务
    黑马程序员第二阶段JAVA网络编程第24天
    黑马程序员第二阶段图形用户界面第22天(1)
    黑马程序员第三阶段Java基础加强第26天
    黑马程序员第三阶段Java基础加强第25天
    黑马程序员第二阶段Java高级IO第21天
    黑马程序员第二阶段JAVA网络编程第23天
  • 原文地址:https://www.cnblogs.com/bigbaibai/p/7695858.html
Copyright © 2011-2022 走看看