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

    r模式:默认模式,文件不存在则报错

    f=open('a.txt',encoding='utf-8')    # 打开方式为utf-8,操作系统默认为gbk,以什么编码存的就以什么编码打开,前提是有这个文件,不然报错

    print('first-read:',f.read())    # read 全读,读完光标就在最后一个字符后,后面如还有读操作,就什么也读不出了

    print('seconde-read:',f.read())      # 跟在read后,什么也读不出来了

    print(f.readline(),end=' ')      # 一行一行的读出来,后面不写end=' ',那么会隔一行

    print(f.readlines())     # 是把所有内容按行读出来存到一个列表里

    w模式:文件不存在则创建,文件存在则覆盖

    f=open('a.txt','w',encoding='utf-8')       # w模式:是以写的方式打开,如有这个文件就会清空写入(覆盖),如没有就会创建一个文件写入

    f.write('111111')     # 写入必须是以字符串类型

    f.write('22222')       # 这样会追加到111111的后面,不会写在下一行,那么就都得加上换行符如:f.write('22222 ') 

    f.writelines(['1111 ','2222 '])    #  以列表的形式写入

    f.close()     #  操作文件完后就得关闭文件

    a模式:文件不存在则创建,文件存在不会覆盖,写内容是以追加的方式写入

    f=open('a.txt','a',encoding='utf-8') 

    f.write(' 3333 ')

    f.close()

    其他方法:

    f=open('a.txt','r',encoding='utf-8')

    f.write('asdfasdf')

    f.flush()   #  把内存数据刷到硬盘

    print(f.cloosed)   #判断文件是否关闭

    print(f.name,f.encoding)   #查看文件名字和文件编码

    print(f.readable())    #判断文件是否可读

    print(f.writable())    #判断文件是否可写

    f.read()    #以字符读取,其余的文件内光标移动都是以字节为单位如:seek,tell,truncate

    f=open('a.txt','rb')

    print(f.read())   # 读出来的是bash格式

    print(f.read().decode('utf-8'))   #转成utf-8

    f=open('a.txt','wb')

    f.write('asdfasdf'.encode('utf-8'))   # 字符串是unicode需要转码

    f.close

    图片的读写

    read_file=open('a.jpg','rb')

    write_file=open('a.copy.jpg','wb')

    write_file.write(read_file.read())

    import os
    read_f=open('a.txt','r',encoding='utf-8')
    write_f=open('.a.txt.swp','w',encoding='utf-8')
    for line in read_f:
    if '你好' in line:
    line=line.replace('你好','888888')
    write_f.write(line)
    else:
    write_f.write(line)
    read_f.close()
    write_f.close()
    os.remove('a.txt')
    os.rename('.a.txt.swp','a.txt')

     

  • 相关阅读:
    工作交接
    .NET 利用反射将对象数据添加到数据库
    【C#】IPAddress.Any 解决本地ip和服务器ip切换问题
    【C#】警告System.Configuration.ConfigurationSettings.AppSettings" 已过时
    【C#】TcpListener的对象“已过时”的编译警告
    大城小胖这几年积累的动画库、手势库、物理引擎库
    select option项选择后跳转页面
    360引起的Soap的java.io.EOFException错误
    linux安装mysql-5.7.22与数据自动备份
    性能测试流程
  • 原文地址:https://www.cnblogs.com/sunxiansheng/p/7553569.html
Copyright © 2011-2022 走看看