8.Python初窥门径(文件操做)

Python (文件操做)

1、文件操做方式

  1. 打开文件 open
  2. 操做文件 read or write
  3. 关闭文件 close

2、打开文件的方式(第一种)

  1. 语法 :python

    f=open("文件",mode="模式",encoding="编码")安全

    • open() # 调用操做系统打开文件
    • mode() # 对文件的操做方式,("")内填入文件的操做方式.
    • encoding= # 文件的编码,=""跟着编码方式
    • f # 文件句柄
  2. 注意 : 使用原生字符能够解决\的问题,在"文件"前加r)网络

    # 不使用r时
    f=open("D:\\Git\\Git存储\\学习.txt",mode="r",encoding="UTF-8")
    # \\用来和python中的一些关键字作区分,不用\\表示可能会出错
    ---------------------------------
    # 使用r时
    f=open(r"D:\Git\Git存储\学习.txt",mode="r",encoding="UTF-8")
    # 此时的r是repr的简称,repr做用是保持原始状态消除关键字功能.

3、文件操做方式 (注意 : 换行符\n)

  1. r w a 操做的都是文本app

    读 : r (读后光标会移动到最后)学习

    • f.read() # 读取所有,()内能够加入数字,表明按照字符读取
    • f.readline() # 读取一行内容内的多个字符
    • f.readines() # 一行一行读取,存储到列表中

    写 : w a (w时没有文件建立文件,有文件分两步,先清空在写入)编码

    • w时,f.write() # 文件开头写入
    • a时,f.write() # 文件末尾写入
  2. r+(读写),w+(写读),a+(追加写读)操作系统

    • 后期开发中使用频率比较低,使用时注意光标位置
  3. rd r+d wb w+bab 操做非文本文件code

    • 读取本地非文本文件时,读方式和操做读文本方式同样,只须要注意文件类型而且操做方式改为rd便可ip

      f = open("1.jpg",mode="rb")
      print(f.read())  # read()  所有读取
      print(f.read(3)) # 字节
    • 下载并保存网络文件时,须要调用import requests,实例以下内存

      import requests
      ret=requests.get("http://www.521609.com/uploads/allimg/151124/1-1511241G251317.png")
      f = open("2.jpg",mode="wb")
      f.write(ret.content)
      f.close()

4、文件其它操做方式

  1. f.tell() # 查看光标所在的字节位置,会有返回值,返回值就是当前光标的位置

  2. f.seek(偏移量,位置) # 移动光标字节位置

    • 偏移量 : 按照字节来算,与所用的文件编码有关.

    • 位置 : 0表明开头位置,1表明当前位置,2表明末尾位置

      seek(0,0) # 文件开始位置
      seek(0,1) # 光标的当前位置
      seek(0,2) # 文件末尾位置
      seek(3) # 按照字节调节,使用utf-8汉字是3,gbk汉字是2

5、文件路径分类

  1. 绝对路径 : 从磁盘的跟处查找

  2. 相对路径 : 相对于当前文件进行查找,../表明上一级,查看当前工做路径调用 import os

    import os
    print(os.getcwd()) # 查看当前工做路径

6、文件安全读取方式

  • 运用for迭代方式直接对f进行迭代读取,不会由于文件过大,撑爆内存.

    f=open("文件",mode="模式",encoding="编码")
    for i in f:

7、打开文件的方式(第二种)

  1. 语法 :

    with open("文件路径1",mode="操做方式",encoding="编码方式") as f1, open("文件路径2",mode="操做方式",encoding="编码方式") as f2 :

    lis=[]
    num=1
    with open("a1",mode="r",encoding="utf-8") as f:
        for r in f: # 注意缩进
            dic = {}
            lis1=r.strip().split(" ")
            if num==1:
                lis2=lis1.copy()
            else:
                for i in range(len(lis2)):
                    dic[lis2[i]]=lis1[i]
                lis.append(dic)
            num+=1
    print(lis)
  2. 做用 :

    • 此方式系统会自动帮助关闭文件
    • 能够同时操做多个文件
    • 能够同时操做一个文件.
相关文章
相关标签/搜索