zoukankan      html  css  js  c++  java
  • 文件管理

    # f=open(r'aaaa.py',encoding='utf-8') #x=1
    # # print('+++++>1',f.read())
    # # print(type(data))
    # # print('+++++>2',f.read())
    # # print('+++++>3',f.read())
    # f.close()
    # print(f)
    # f.read()
    # # del f


    open:
    #1 会向操作系统发起系统调用,操作会打开一个文件
    #2 在python程序中会产生一个值指向操作系统打开的那个文件,我们可以把该值赋值一个变量

    回收资源:
    1 f.close():一定要做,关闭操作系统打开的文件,即回收操作系统的资源
    2 del f:没必要做,因为在python程序运行完毕后,会自动清理与该程序有关的所有内存空间

    #文本文件:只读模式,文件不存在报错
    # f=open(r'aaaa.py','r',encoding='utf-8')
    # print(f.read())
    # print(f.read
    #
    # line(),end='')
    # print(f.readlines())
    # print(f.readable())
    # print(f.writable()) #False
    # f.close()

    文本文件:只写模式,文件不存在则创建空文件,文件存在则清空
    # f=open('new.txt','w',encoding='utf-8')
    # f.write('1111111 ')
    # f.writelines(['22222 ','3333 ','444444 '])
    # # print(f.writable())
    # f.close()

    文本文件:只追加写模式,文件不存在则创建,文件存在
    # f=open('new_2','a',encoding='utf-8')
    # print(f.readable())
    # print(f.writable())

    # f.write('33333 ')
    # f.write('44444 ')
    # f.writelines(['5555 ','6666 '])

    # f.close()


    #rb
    # f=open('aaaa.py','rb')
    # print(f.read().decode('utf-8'))

    # f=open('1.jpg','rb')
    # data=f.read()

    #wb
    # f=open('2.jpg','wb')
    # f.write(data)
    # f=open('new_3.txt','wb')
    # f.write('aaaaa '.encode('utf-8'))

    #ab
    f=open('new_3.txt','ab')
    f.write('aaaaa '.encode('utf-8'))

    上下文管理
    # with open('aaaa.py','r',encoding='utf-8') as read_f,
    # open('aaaa_new.py','w',encoding='utf-8') as write_f:
    # data=read_f.read()
    # write_f.write(data)


    #循环取文件每一行内容
    # with open('a.txt','r',encoding='utf-8') as f:
    # while True:
    # line=f.readline()
    # if not line:break
    # print(line,end='')

    # lines=f.readlines() #只适用于小文件
    # print(lines)

    # data=f.read()
    # print(type(data))


    # for line in f: #推荐使用
    # print(line,end='')


    #文件的修改
    #方式一:只适用于小文件
    # import os
    # with open('a.txt','r',encoding='utf-8') as read_f,
    # open('a.txt.swap','w',encoding='utf-8') as write_f:
    # data=read_f.read()
    # write_f.write(data.replace('alex_SB','alex_BSB'))
    #
    # os.remove('a.txt')
    # os.rename('a.txt.swap','a.txt')


    #方式二:
    import os
    with open('a.txt','r',encoding='utf-8') as read_f,
    open('a.txt.swap','w',encoding='utf-8') as write_f:
    for line in read_f:
    write_f.write(line.replace('alex_BSB','BB_alex_SB'))

    os.remove('a.txt')
    os.rename('a.txt.swap','a.txt')

  • 相关阅读:
    【JZOJ5093】【GDSOI2017第四轮模拟day3】字符串匹配 哈希
    【JZOJ5094】【GDSOI2017第四轮模拟day3】鸽子 计算几何+floyd
    2017.4省选集训最终总结
    基于Idea从零搭建一个最简单的vue项目
    npm的镜像替换成淘宝
    maven settings.xml--需要保存到用户/.m2文件夹下
    @Controller @RestController
    SQL SERVER 查询所有数据表名称和数据行数
    linux 常用命令集锦
    java 数字左补齐0
  • 原文地址:https://www.cnblogs.com/kxllong/p/7240729.html
Copyright © 2011-2022 走看看