• 文件操作


    1,文件操作。
    文件.txt
    1,文件路径
    2,编码方式:utf-8。
    3,动作mode,读,读写,写读.....

    f1 = open('D:文件.txt', encoding='utf-8', mode='r')
    content = f1.read()
    print(content)
    f1,文件句柄,文件对象,file,f_handle,file_handle,f_obj
    open打开的指令,windows的指令,
    windows 默认编码方式gbk,linux默认编码方式utf-8,mac utf-8。

    1,打开文件,产生文件句柄。
    2,操作文件句柄。
    3,关闭文件。
    SyntaxError: (unicode error) 'unicodeescape' codec
    can't decode bytes in position 2-3: truncated UXXXXXXXX escape
    f1 = open(r'D:文件.txt', encoding='utf-8', mode='r')
    # f1 = open('D:\文件.txt', encoding='utf-8', mode='r')
    EncodeDecodeErorr: 编码错误。
    
    
    r  rb r+,r+b
    read read(n) readline readlines for 循环
    # read 全部读出
    # f1 = open('log1', encoding='utf-8')
    # content = f1.read()  #
    # print(content)
    # f1.close()
    
    #read(n)
    # f1 = open('log1', encoding='utf-8')
    # content = f1.read(5)  # r 模式 按照字符读取。
    # print(content)
    # f1.close()

    2、相对路径

    # f1 = open('log1', mode='rb')
    # content = f1.read(3)  # rb模式 按照字节读取。
    # print(content.decode('utf-8'))
    # f1.close()
    #readline()按行读取
    # f1 = open('log1', encoding='utf-8')
    # print(f1.readline())
    # print(f1.readline())
    # print(f1.readline())
    # print(f1.readline())
    # f1.close()
    
    #readlines() 将每一行作为列表的一个元素并返回这个列表
    # f1 = open('log1', encoding='utf-8')
    # print(f1.readlines())
    # f1.close()
    
    #for循环
    # f1 = open('log1', encoding='utf-8')
    # for i in f1:
    #     print(i)
    # f1.close()
    
    
    # f2 = open('log1',mode='rb')
    # print(f2.read())
    # f2.close()
    #编码的补充:
    # s1 = b'xd6xd0xb9xfa'
    # s2 = s1.decode('gbk')
    # s3 = s2.encode('utf-8')
    # print(s3)  # b'xe4xb8xadxe5x9bxbd'
    # s1 = b'xd6xd0xb9xfa'.decode('gbk').encode('utf-8')
    # print(s1)
    
    #r+ 读写
    # f1 = open('log1', encoding='utf-8', mode='r+')
    # print(f1.read())
    # f1.write('666')
    # f1.close()
    
    # f1 = open('log1', encoding='utf-8', mode='r+')
    # f1.seek(0,2)
    # f1.write('6666')
    # f1.seek(0)#调整光标
    # print(f1.read())
    # #光标 按照字节去运转 seek
    # f1.close()
    
    
    
    # w模式
    # f1 = open('log2', encoding='utf-8', mode='w')
    # f1.write('alex是披着高富帅外衣的纯屌丝.....')
    # f1.close()
    # f1 = open('log2', mode='wb')
    # f1.write('alex是披着高富帅外衣的纯屌丝.....'.encode('utf-8'))
    # f1.close()
    
    #w+ 写读模式
    # f1 = open('log2', encoding='utf-8', mode='w+')
    # print(f1.read())
    # f1.write('666')
    # f1.close()
    
    
    
    
    
    #a ab
    # f1 = open('log2', encoding='utf-8', mode='a')
    # f1.write('
    老男孩')
    # f1.close()
    
    #a+
    # f1 = open('log2', encoding='utf-8', mode='a+')
    # f1.write('fdsafdsafdsagfdg')
    # f1.seek(0)
    # print(f1.read())
    # f1.close()
    View Code

    3、文件的改

    a  ab a+,a+b
    seek tell truncates,wrateble,readable,等等。
    文件的改。
    #1,打开原文件,产生文件句柄。
    #2,创建新文件,产生文件句柄。
    #3,读取原文件,进行修改,写入新文件。
    #4,将原文件删除。
    #5,新文件重命名原文件。
    # import os
    # with open('file_test', encoding='utf-8') as f1,
    #     open('file_test.bak', encoding='utf-8', mode='w') as f2:
    #     old_content = f1.read()
    #     new_content = old_content.replace('alex','SB')
    #     f2.write(new_content)
    # os.remove('file_test')
    # os.rename('file_test.bak','file_test')
    
    
    import os
    with open('file_test', encoding='utf-8') as f1,
        open('file_test.bak', encoding='utf-8', mode='w') as f2:
        for line in f1:
            new_line = line.replace('SB','alex')
            f2.write(new_line)
    os.remove('file_test')
    os.rename('file_test.bak','file_test')
    View Code
     
  • 相关阅读:
    android自定义视图
    CISCO PVST+配置和结果验证 per vlan spanning tree(51cto 实验10)
    读入a,b当a,b不同时为零时结束
    跨交换机VLAN 配置和结果验证(51cto :实验9)
    单交换机VLAN 配置和结果验证(51cto-o8)
    cocos2d(1)
    servlet-session
    Servlet-servletContext
    mysql数据库从windows迁移到linux,或者linux迁移到windows教程
    linux (centos) 安装MySql详细教程!!实战详解
  • 原文地址:https://www.cnblogs.com/bjj-0102/p/8896497.html
Copyright © 2020-2023  润新知