• day08 文件操作


    1、三种字符串:
        (1)u'' 普通字符串  --->  u'abc'  --->  默认的文本方式,以字符作为文本的输出方式
        (2)b'' 二进制字符串 --->  b'ASCII码'  --->  以二进制(字节)作为文本输出方式,且文本内容必须为ASCII码
        (3)r'' 原义字符串  --->  r'
    	' --->  将引号中的转移字符串以原本的意义表示出来(多用于文件路径的表示)
    
    2、文件操作步骤
        (1)通过文件名等从硬盘中找到相应的文件地址,使操作系统就有文件的操作权
        (2)使用应用程序对文件进行操作
        (3)操作完成后,应用程序向操作系统发送请求,使其释放文件的操作权
    
    3、打开文件的方式
        (1)使用open打开文件
            f = open("文件路径及文件名","文件打开模式",enconding="utf-"8)
        (2)使用with open...as 的方式进行文件操作
            with open("文件路径及文件名","文件打开模式",enconding="utf-8") as f:
        (3)使用with open 进行文件操作时,嵌套使用
            with open("文件路径及文件名","操作模式",enconding="utf-8") as f1:
                with open("文件的路径及文件名","操作模式",enconding="utf-8") as f2:
                    对文件的操作
    
    4、文件的操作模式
        主模式: r | w | a | x
        从模式: t | b | +1)r  --->  基本读操作
            with open("文件路径及文件名","r",enconding="utf-8") as f1:
                f1.read()  --> 将整个文件读取进内存
                f1.readline()  --> 读取一行文件
                f1.readlines() --> 将每行内容依次添加进列表中,并返回列表
            对文件进行读操作,如果文件不存在则报错
            # 如果想要一行一行的读取文件,可以使用for循环  ---> 重要点
                for line in f1:
                    print(line)
    
        (2)w  --->  基本写操作
            with open("文件路径及文件名","w",enconding="utf-8") as f1:
                f1.write("哈哈")
                f1.writerlines([必须为可迭代的对象,并且内容为字符串])
    
            对文件进行写操作,如果文件不存在则创建文件,如果文件存在,则清空文件从头开始写
    
        (3)a  --->  追加操作
            with open("文件路径及文件名","a",enconding="utf-8") as f1:
                采用追加的方式对文件进行写操作,默认从文件的结尾添加
    
        (4)x  --->  写操作,文件不存在创建,文件存在报错
            with open("文件路径及文件名","x",enconding="utf-8") as f1:
            如果文件存在则报错,如果文件不存在则创建文件并写入
    
        t --->  以文本方式进行文件的操作,是文件操作的默认方式, rt = r
        (5) rt 以普通方式进行文件读操作,如果文件不存在则抱错问题 ---> 与 r 相同
        (6) wt 以普通字符串的方式对文件进行写操作,如果文件存在则清空后写入,如果文件不存在则创建文件后写入  --> 与 w 相同
        (7) at 以普通文本方式对文件进行追加操作,,默认写到文件的末尾  --->与 a  相同
    
        b --->  以字节的方式对文件进行操作
         with open("文件路径及文件名","wb") as f1:
            f1.write()
        (8) rb 以字节的方式对文件进行读操作,如果文件不存在则报错
        (9) wb 以字节的方式对文件进行操作,如果文件存在则清空后添加,如果文件不存在则创建文件
        (10) ab 以字节的方式对文件进行操作,默认添加到文件的末尾
    
        + ---> 以读写的方式对文件进行操作
        (11) r+ 可读可写的读,如果文件不存在则报错,【如果文件存在则从头开始替换写】
        (12) w+ 可读可写的写,如果文件存在则清空写,如果文件不存在则进行创建文件后进行写入
        (13) a+ 可读可写的追加,如果文件不存在则进行创建,如果文件存在则在末尾进行添加
    
    5、游标操作
        游标由于是以字节作为移动的单位,所以文件必须是b模式,又因为只有在读取文件时才有游标,所以,文件的游标概念只有在 rb 模式下才能起作用
        游标操作使用seek()方法,seek('移动的位数','起始的位置')
            起始的位置主要有三个: 0 --> 文档开头
                               1 --> 当前位置
                               2 --> 文档末尾
        with open("3.txt", "rb") as f:
            f.seek(-2, 2)
            print(f.read(2))
    
    6、文档的复制
    with open("3.txt","r",encoding="utf-8") as f1:
        with open("4.txt","w",encoding="utf-8") as f2:
            for line in f1:
                f2.write(line)
                
    7、enconding编码
        在使用 t 模式进行文件操作时,需要标明编码方式,enconding="utf-8"
        在使用 b 模式进行文件操作时,不能标明编码方式,否则会报错
  • 相关阅读:
    Hadoop组件
    Vmworkstation启用错误
    sqoop
    ZooKeeper02
    动物管理员--zooKeeper-01
    IP-v4&IP-v6
    hive 基础
    ssh连接失败,排错经验
    Hadoop管理员的十个最佳实践
    OSGi在淘宝内部的使用
  • 原文地址:https://www.cnblogs.com/lice-blog/p/10752543.html
Copyright © 2020-2023  润新知