zoukankan      html  css  js  c++  java
  • Python学习你急5:文件打开与处理

    Python文件处理

    文件打开

    f = open(filename[,mode[,bufsize]])

    open()函数通过使用mode和缓存bufsize类型来打开filename标识的文件。此函数返

    一文件对象,如果没有对象,则会创建一个新的对象

    mode与系统函数fopen()使用的模式相同。如果mode参数省略,其默认取值为r

    mode

    模式 含义
    r 打开用于读
    w 打开用于写
    a 打开用于附加(打开期间,文件位置自动移到文件末尾)
    r+ 打开用于更新(读和写)
    w+ 截断(或清空)文件,接着打开文件用于读写
    a+ 打开文件用于读和写,并自动改变当前为止到文件尾,当附加任何模式选项时,以二进制模式而不是文本模式,打开文件(这种模式
    b 仅对windows、dos和其他一些操作系统有效,对Unix、MacOS和BeOS则不管选项为何值,以二进制模式对待所有文件)

    open()函数的bufsize选项参数决定从文件中读取数据时所使用的缓存的大小,如果bufsize省略,就使用系统默认的缓存容量

    >>> f =open('/Users/David/Documents/string1.txt','r',encoding = 'utf-8')
    >>> f
    <_io.TextIOWrapper name='/Users/David/Documents/string1.txt'mode='r' encoding='utf-8'>
    

    注意:要读取文件中的中文字符时,必须将encoding改写为'utf-8'

    文件处理

    f.close() 关闭文件

    f.read([size=-1])

    从文件读取size个字符,当未给定size或给定负值的时候,读取剩余的所有字符,然后作为字符串返回

    >>> f =open('/Users/David/Documents/string1.txt','r',encoding = 'utf-8')
    
    >>> f
    
    <_io.TextIOWrapper name='/Users/David/Documents/string1.txt'mode='r' encoding='utf-8'>
    
    >>> f.read()
    
    '我爱你
    就像老鼠爱大米'
    

    当再一次执行f.read()时,返回一个空的字符串,因为此时指针已经指向了文档末尾

    >>> f.read()
    
    ''
    

    当给定size的值的时候

    >>> f =open('/Users/David/Documents/string1.txt','r',encoding = 'utf-8')
    
    >>> f.read(5)
    
    '我爱你
    就'
    

    f.readline([size=-1])

    从文件中读取并返回一行(包括行结束符),如果有size有定义则返回size个字符

    >>> f =open('/Users/David/Documents/string1.txt','r',encoding = 'utf-8')
    
    >>> f.readline()
    
    '我爱你
    '
    

    f.write(str)

    将字符串str写入文件,注意,要将字符串写入文件必须保证打开文件时用 'w' 或 'a' 打开

    >>> f=  open('/Users/David/Documents/我爱你.txt','w',encoding = 'utf-8')
    
    >>> f
    
    <_io.TextIOWrappername='/Users/David/Documents/我爱你.txt'mode='w' encoding='utf-8'>
    >>> f.write('我爱Python')
    
    8
    
    >>> f.close()
    

    f.writelines(seq)

    向文件写入字符串序列seq,seq应该是一个返回字符串的可迭代对象

    f.seek(offset, from)

    在文件中移动文件指针,从from(0代表文件起始位置,1代表当前位置,2代表文件末尾)偏移offset个字节

    >>> f =open('/Users/David/Documents/string1.txt','r',encoding = 'utf-8')
    
    >>> f.seek(13,0)
    
    13
    
    >>> f.read()
    
    '像老鼠爱大米'
    

    f.tell()

    返回当前指针在文件中的位置

    >>> f =open('/Users/David/Documents/string1.txt','r',encoding = 'utf-8')
    
    >>> f.read(5)
    
    '我爱你
    就'
    
    >>> f.tell()
    
    13        #函数本身是按照英文字节的位置计算的
    

    f.truncate([size=file.tell()])

    截取文件到size个字节,默认是截取到文件指针当前位置

    使用for语句可以直接将文件打印出来

    >>> f =open('/Users/David/Documents/string1.txt','r',encoding = 'utf-8')
    
    >>> for each_line in f:
    
    print(each_line)
    
    我爱你
    
    就像老鼠爱大米
  • 相关阅读:
    C# 文件操作
    Wpf ListView展示风格
    PowerShell->>获取本地计算机的用户组和组成员
    MySQL->>innodb_autoinc_lock_mode参数控制auto_increment 插入数据时相关锁的模式
    SQL Server ->> 使用CROSS APPLY语句是遇到聚合函数中包含外部引用列时报错
    【转】Kettle发送邮件步骤遇到附件名是中文名变成乱码的问题解决办法
    SSIS ->> Excel Destination无法接受大于255个字符长度的字符字段
    SQL Server ->> 存储过程sp_describe_first_result_set解析T-SQL语句的结果集结构信息
    Windows ->> 解决Windows 10下面无法多用户同时远程桌面
    SQL Server ->> 查询添加XLOCK表提示不阻塞其他线程
  • 原文地址:https://www.cnblogs.com/rendawei/p/6999152.html
Copyright © 2011-2022 走看看