• Python初识之文件操作


    文件操作

      1、文件路径:绝对路径和相对路径

    'd:studyuserday8qwe' # 绝对路径
    'qwe' # 相对路径

      2、编码方式:以什么编码方式存储就因该用什么编码方式读取,不然会乱码

      3、操作方式:只读,只写,读写,写读,追加······

     文件的打开与关闭

    open('d:studyuserday8qwe', mode='r', encoding='utf-8')  # 绝对路径的打开文件
    open('qwe', mode='r', encoding='utf-8')  # 相对路径的打开文件
    f.close() # 文件的关闭

      在打开文件后应该注意及时关闭,释放内存空间,但为了避免忘记,可以使用with打开文件

    with open('qwe', mode='r', encoding='utf-8') as f:
        pass

     文件的读

    f = open('qwe', mode='r', encoding='utf-8')
    s = f.read()
    print(s)
    f.close()

     以bytes类型读取

    with open('qwe', mode='rb') as f:
        print(f.read())

     文件的写

    with open('qwe', mode='w', encoding='utf-8') as f:
        f.write('看窗外的风景')

      以bytes类型读取

    with open('qwe', mode='wb') as f:
        f.write('看窗外的风景'.encode('utf-8'))

     文件的追加

    with open('qwe', mode='a', encoding='utf-8') as f:
        f.write(',窗外的风景在看你')

      以bytes类型追加

    with open('qwe', mode='ab') as f:
        f.write(',窗外的风景在看你'.encode('utf-8'))

     文件的读写

    with open('qwe', mode='r+', encoding='utf-8') as f:
        f.read()
        f.write(',孤独围绕着你')

      以bytes类型读写

    with open('qwe', mode='r+b') as f:
        f.read()
        f.write(',孤独围绕着你'.encode('utf-8'))

     文件的写读

    with open('www', mode='w+', encoding='utf-8') as f1:
        f1.write('aaaaaaaa')
        f1.seek(0)
        print(f1.read())

      以bytes类型写读省略

     文件的追加读或写

    with open('www', mode='a+', encoding='utf-8') as f1:
        f1.write('bbb')
        f1.seek(0)
        print(f1.read())

     功能详解

      f.readline() 读取文件的一行,写一遍读一行

      f.readlines() 按行读取文件,读取所有行,将每行的字符串当成一个元素写入一个列表

      f.seek() 定位光标的位置,光标按字节定位,不是字符

      f.tell() 告诉你光标现在的位置

      f.truncate() 截取

    with open('www', mode='w+', encoding='utf-8') as f1:
        f1.write('sdfasfasdfa')
        f1.truncate(5)
        f1.seek(0)
        print(f1.read())

      f.readable() 判断是否可读

      f.writeable() 判断是否可写

     文件的修改

      方法一:将文件全部读取到内存,在内存中是可以修改的,修改完后再覆盖到硬盘(文件内容不太多时使用)

    import os
    with open('www.txt', mode='r+', encoding='utf-8') as f1,
        open('sss.txt.swap', mode='w+', encoding='utf-8') as f2:
        date = f1.read()
        date = date.replace('SB', 'haha')
        f2.write(date)
    os.remove('www.txt')
    os.rename('sss.txt.swap', 'www.txt')

      方法二:将文件一行一行的读入内存,修改完毕就写入新文件,最后用新文件覆盖新文件

    import os
    with open('www.txt', mode='r+', encoding='utf-8') as f1,
         open('sss.txt.swap', mode='w+', encoding='utf-8') as f2:
        for line in f1:
            line = line.replace('ss', 'haha')
            f2.write(line)
    os.remove('www.txt')
    os.rename('sss.txt.swap', 'www.txt')
  • 相关阅读:
    POJ_1456 Supermarket 【并查集/贪心】
    CSS before和after伪类
    CSS anchor专为链接属性选择器
    CSS 属性选择器
    CSS float浮动
    CSS 外边距和内填充
    CSS 边框属性
    CSS 背景
    CSS 组和选择器
    CSS 引入方式
  • 原文地址:https://www.cnblogs.com/xfdhh/p/9783156.html
Copyright © 2020-2023  润新知